题意分析:
任取一个正整数, 如果不是回文数, 将该数与他的倒序数相加, 若其和不是回文数, 则重复上述步骤, 一直到获得回文数为止.
写求一个整数的逆序数的函数 inverse().
解题思路:
先编写逆序数函数, 在主函数里写下循环回文数猜想, 并输出变换过程中得到的数值, 两个数用空格隔开.
代码实现:
- #include<stdio.h>
- int inverse(int n)
- {
- int s;
- while(n!=0)
- {
- s=s*10+n%10;
- n=n/10;
- }
- return s;
- }
- main()
- {
- int m,n;
- scanf("%d",&n);
- while(m=inverse(n),m!=n)
- {
- printf("%d",n);
- n=m+n;
- }
- printf("%d",n);
- return 0;
- }
易错分析:
循环过程题目中已经给出, 最后容易忽视输出最后一个回文数.
来源: http://www.bubuko.com/infodetail-2947442.html