输入一个数值判断是否为回文数(回文数是指一个像14641这样对称的数,即:这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样)
#include<stdio.h>
int main(void)
{
int i;
int number;
int sum = 0;
printf("请输入您需要判断的数:“);
scanf("%d", &number);
i = number;
while(i)
{
sum = sum * 10 + i %10;
i /= 10;
}
if (sum == number) //判断正向读和反向读结果是否一样
printf("这是一个回文数!");
else
printf("这不是一个回文数");
return 0;
}
解题思路:假如输入一个数为121,现将这个数赋值给i,i不等于0,执行while语句。任何一个数对10取余数,结果都是该数的最后一位,任何一个数除以10,商就是排除掉最后一位后的数。