C语言用递归判断数字是否为回文数

2024年11月29日 19:56
有2个网友回答
网友(1):

首先求出数字的长度n,
然后判断第1位和第n位是否相等
第i位和第n+1-i位是否相等。对i循环

单独写一个函数求出这个数字第i位的大小
int GetI(int i,int number){
if(i==1)
return number%10;
return GetI(i-1,number/10);
}

网友(2):

我是菜鸟,自己琢磨的一个,见笑。
#include
int fac(int n)
{
int m,flag=1,i,j,t,s;
if(n>=0&&n<10)
return (1);
else
{
i=0;
m=n%10;
t=n;
while(t/10>0)
{
t=t/10;
i++;
}
s=t;
for(j=1;j<=i;j++)
{
s=s*10;
}

if(m==t)
return(fac((n-m-s)/10));
else
return(0);

}
}
void main()
{
int a;
int flag;
scanf("%ld",&a);
flag=fac(a);
if(flag>0)
printf("yes");
else
printf("no");
}