关于C语言判断回文数的程序。

2024-11-30 05:37:13
推荐回答(4个)
回答1:

首先你a在判断位数的时候已经被改掉了,接下来的读取每一位的数字的时候就会出错。
新开个变量int b = a吧。

if (b=1)永远都是返回true的 因为这是一个赋值语句
应该是if (b == 1)

初学的时候经常会犯这个错误。
建议如果判断一个变量等于一个常量的时候把常量写前面,
如 (1 == b)
这样万一你少打一个等号, 编译器会报错

回答2:

这样写也可以:

/**
2012年5月3日11:23:50
功能:判断一个数是否是回文数;

*/
#include
int main(void)
{
int val;
int m,sum = 0;
printf("请输入数字: ");
scanf("%d",&val);
m = val;

while(m)
{
sum = sum*10 + m%10;
m /=10;
}

if (val == sum)
printf("yes!\n");
else
printf("no!\n");
return 0;
}

/**
结果:
请输入数字: 1221
yes!
*/

回答3:

不是if(b=1)而是if(b==1)

回答4:

111