C语言经典算法100例-030-判断一个数是否为回文数
2014-03-05 15:42
459 查看
所谓回文数,即是正序与逆序相等的一个数,如121,12321,10501等。写程序判断输入的数是否为回文数。
1.分析:表面上看,我们似乎要这么做,把各个位分离,然后把第一个数跟最后一个数比较,第二个跟倒数第二个....等等。注意,这样做太复杂了,回文数的条件是正序等于逆序,那么我们为什么不把逆序的值求出来与正序值比较呢,我们已经很擅长做逆序的工作,所以我们有了这样的程序:
1.分析:表面上看,我们似乎要这么做,把各个位分离,然后把第一个数跟最后一个数比较,第二个跟倒数第二个....等等。注意,这样做太复杂了,回文数的条件是正序等于逆序,那么我们为什么不把逆序的值求出来与正序值比较呢,我们已经很擅长做逆序的工作,所以我们有了这样的程序:
#include <stdio.h> #include <stdlib.h> //判断一个数是否为回文数 int main() { long int i; int pld(long int); printf("Input a number!\n"); scanf("%ld",&i); if(pld(i)) printf("It's a palindrome.\n"); else printf("It's not a palindrome.\n"); return 0; } int pld(long int m) //求m的逆序值并与m比较 { long int temp=m; long int n=0; while(temp) //逆序分离各位 { n=n*10+temp%10; //求逆序值 temp/=10; } return (m==n); }
相关文章推荐
- 判断一个字符串是否能够通过添加一个字符变成回文序列的方法
- C实例--判断一个字符串是否是回文数
- 第十一周项目3-2-判断一个数是否回文(改进版!!!)
- 【C语言】判断一个数是否为回文字符串
- 【练习题】编写一个名为is_palindrome的函数,判断一个人名是否为回文,如‘BOB’是回文
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都
- 判断输入的一个数是否为回文数c++代码实例及运行结果
- 输入任意一个5位数,判断其是否是回文数。
- 判断一个字符串是否为回文
- 利用正则表达式判断一个给定的字符是否是回文
- 判断一个字符串是否为回文,以及求一个字符串中最长回文串
- 判断一个字符串是否为回文
- 作业 4 函数应用 编写一个程序,判断从键盘接收的数字是否为回文数字。回文数字就是顺着看和倒着看是相同的数。如121、656、2332等
- 判断一个字符串是否为回文的非递归算法
- 判断一个数字是否是回文数字(递归)
- 判断一个数字是否是回文
- Lettcode_9_Palindrome Number ——判断一个数字是否回文(不能申请额外空间)
- 判断一个数字是否为回文数
- C#--第2周实验--任务7--编写一个控制台应用--判断S所指的字符串是否回文(即顺读和逆读相同的字符串)
- 判断输入的一个数是否为回文数c++代码实例及运行结果