表示回文数,将数字倒过来

比如你输入的数是12321:
循环开始前:m=12321,sum=0;
第1次循环结束:m=1232,sum=1;
第2次循环结束:m=123,sum = 12;
第3次循环结束:m=12,sum=123;
第4次循环结束:m=1,sum=1232;
第5次循环结束:m=0,sum=12321。
输入的是几位数就循环几次。
判断的思路就是,通过循环依次把m的个位,十位,百位...上的数取出来,与sum*10相加。这样得到的数sum就是m颠倒之后的数,如果两者相等,那就是回文数

 

 1 sum = 0;
 2 for (i = n; i != 0; i /= 10) {
 3     yu = i % 10;
 4     sum = sum * 10 + yu; 
 5 }
 6 if (sum == n){
 7     printf("是回文数"); 
 8 } else {
 9     printf("不是回文数");
10 }

 

posted on 2016-01-17 23:01  _阿赞  阅读(512)  评论(0编辑  收藏  举报