
这个是怎么错了,要求用迭代函数,先输出逆序数然后判断回文数。不知道b为什么为0
关注回文数算法有问题,你的while循环都把数倒完了,你后面还在递归?正确算法是这样的,有帮助的话采纳一下哦!
int i = 0;
int isPalindrom(int n)
{
if(n==0)
return 1;
else
{
i *= 10;
i += n%10;
isPalindrom(n/10);
}
}
//主函数
void main()
{
int number;
scanf("%d",&number);
isPalindrom(number);
if(i==number)
{
printf("yes");
}
else
{
printf("no");
}
}