关于回文数的一个问题,并没有发现问题啊。。但是输出就是有错误。。求指点
实现功能: 从键盘输入一个数字,如果该数字是回文数,则返回yes,否则返回no #include <stdio.h>
int main(void)
{
int val;//用a来存放待输入的值。
int m;
int sum=0;
for(;;)
{
printf("请输入一个要判断的数,输入0结束程序: ");
scanf("%d",&val);
if(val==0)
break;
m=val;
while(m)
{
sum=sum*10+m%10;
m/=10;
}
if(val==sum)
printf("Yes\n\n");
else
printf("No\n\n");
fflush(stdin);
}
getchar();
system("pause");
return 0;
}
结果
========================================== 问题似乎是stdin流中还有其他字符,但是我已经使用了fflush(stdin)了啊,为什么???
请输入一个要判断的数,输入0结束程序: 1221
Yes
请输入一个要判断的数,输入0结束程序: 1221
No
请输入一个要判断的数,输入0结束程序: 1324
No
请输入一个要判断的数,输入0结束程序: 2
No
==========================================