判断一个数是否是回文数
m = number;
把这个数m 进行除法、取余数的操作,分别得到个位 十位 百位 千位...
再把它们相加,最后和原数比较看是否相等来判断是否是回文数字。
试数的过程:23432
① sum=sum*10+m%10 即sum=0 +2=2,然后m /=10,即m=2343。
② sum=sum*10+m%10 即sum=2*10 +3=23,然后m /=10,即m=234。
③ sum=sum*10+m%10 即sum=23*10 +4=234,然后m /=10,即m=23。
④ sum=sum*10+m%10 即sum=234*10 +3=2343,然后m /=10,即m=2。
⑤ sum=sum*10+m%10 即sum=2343*10 +2=23432,然后m /=10,即m=0。m=0则退出while循环。
此时sum的值就是m完全倒过来的值,接下来就判断它们相不相等就行了。
【运行结果】
【程序代码】
#include <stdio.h>
int main(void)
{
int number; //存放待判断的数字
int m;
int sum = 0;
printf("请输入您需要判断的数字:");
scanf("%d", &number);
m = number;
while(m) // m不为0,则执行程序
{
sum = sum*10 +m%10; //sum的值就是m倒过来的值,也就是number
m /= 10;
}
if(sum == number)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
return 0;
}