#include<stdio.h>
int main()
{
void fun(int a);
int num;
scanf_s("%d", &num);
fun(num);
return 0;
}
void fun(int a)
{
int b, c = 0, d;
d = a;
while (a != 0)
{
b = a % 10;
c = c * 10 + b;
a = a / 10;
}
if (c == d)printf("%d是回文数",d);
else printf("%d不是回文数", d);
}
假如说a=1234
就要先将a按位从低到高取数,第一步a%10得到个位数,用b记录,用c来表示将a按位取反的数,则c等于a取余得到的数乘十再加上下一次取余的数,直到a只剩最高位,此时a/10为0,循环条件不满足,则循环终止。
我表达的可能不太好,但大致意思就是这样。
希望对和我一样的新手们有帮助!