1107 回文数猜想

题意分析:
任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。
写求一个整数的逆序数的函数inverse()。

解题思路:
先编写逆序数函数,在主函数里写下循环回文数猜想,并输出变换过程中得到的数值,两个数用空格隔开。

代码实现:

 1 #include<stdio.h>
 2 int inverse(int n)
 3 {
 4     int s;
 5     while(n!=0)
 6     {
 7         s=s*10+n%10;
 8         n=n/10;
 9     }
10     return s;
11 }
12 main()
13 {
14     int m,n;
15     scanf("%d",&n);
16     while(m=inverse(n),m!=n)
17     {
18         printf("%d ",n);
19         n=m+n;
20     }
21     printf("%d",n);
22     return 0;
23 }

易错分析:

循环过程题目中已经给出,最后容易忽视输出最后一个回文数。

 

上一篇:算法-栈


下一篇:QLabel与伙伴控件