#include<stdio.h>
int main()
{
int num,sum,i,a[10000];
void output(int a[],int i,int num);
int fun(int n);//函数声明
while(scanf("%d",&num)!=EOF)
{
i=0;
while(sum=fun(num),sum!=num)//函数调用
{
a[i]=num;//将过程数储存到数组中
i++;//统计次数
num=num+sum;//将num和他的逆序数加和
}
output(a,i,num);
}
return 0;
}
/*
函数功能:求数n的逆序数
函数入口参数:数n
函数出口参数:数n的逆序数s
*/
int fun(int n)
{
int m,s=0;
while(n!=0)
{
m=n%10;
s=s*10+m;
n=n/10;
}
return s;
}
void output(int a[],int i,int num)
{
int j;
printf("%d\n",i);//输出经过的次数
for(j=0;j<i;j++)//输出过程中的数
printf("%d--->",a[j]);
printf("%d\n",num);//输出最后的回文数
}
``
回文数猜想
最新推荐文章于 2021-10-18 19:35:01 发布