所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,例如12321。判断给出的整数是否是回文数;若是,则输出该整数各位数字之和;否则输出该数不是一个回文数。
原理大致为:任何一个数除以10的余数就是该数最后一位;任何一个数除以10的商就是排除掉最后一位后的数;所以 ,一个数1234 就可以通过这种方法得到 123 和 4;接下来对 123 进行同样的操作,就得到 12 和 3;接下来得到 1 和 2;接着得到 0 和 1;整个过程是个循环,当商不是 0 的时候就一直如此;每次拿到一个余数,都用来构造新数,新数=新数*10+余数;所以经过四次循环后,我们得到新数 4321 ,如果是回文,那么新数应该等于原数,否则,说明不是回文。
1、判断一个数是不是回文数
#include
void main()
{
int sum=0,s,n;
scanf("%d",&s);
n=s;
while(n>0)
{
sum=sum*10+n%10;
n=n/10;
}
if(sum==s)
{
printf("%d是一个回文数\n",s);
}else
{
printf("%d不是一个回文数",s);
}
}
2、判断一个字符串是不是回文数
#include
void main()
{
int i,j,n;
char a[100],b[100];
scanf("%s",a);
n=strlen(a);
j=n-1;
for(i=0;i
{
b[j]=a[i];
j--;
}
for(i=0;i
{
if(a[i]!=b[i])
break;
}
if(i==n)
printf("是一个回文数\n");
else
printf("不是一个回文数\n");
}
来源:https://wwwblogs/Zhuohome/p/12842349.html
更多推荐
用c语言编程判断一个数是否为回文数,C语言判断一个数是不是回文数
发布评论