题目
解决代码及点评
/*60. 回文数指左右数字对称的数,如121,2112都是回文数。回文数猜想:取一任意十进制数,将其倒过来,并将这两个数相加, 然后把这个相加的和倒过来再与原数相加..., 重复此过程可得到一个回文数。如取68为任意数,经三步相加可得回文数:6 8+ 8 6 测试数据:───── ① 681 5 4 ② 54 5 1 ③ 876───── ④ 125016 0 55 0 6─────1 1 1 1注意:1) 上机时不要随便自选数据,因为对有的数经几十万次以上相加还未得到回文数。2) 由于一位、两位数十分简单,故仅从3位数开始才判它是否为回文数。即5,55,66这样的数在此处不把它当作回文数。*/#include#include #include int f500601(int a)//逆置函数{ int b=0;//记录逆置后的数 while (a>0) { b=b*10+a%10; a=a/10; } return b;}int f500602(int a)//判断是否是回文数,如若是则相等返回1,不等返回0{ return a == f500601(a);}int f500603(int a ){ if (a<100) { return 0; } else return 1;}void main(){ int a; scanf_s("%d",&a); int i=0;//记录相加的次数 while(f500602(a)<1 || f500603(a)<1) { a=a+f500601(a); printf("%d,%d+%d=%d\n",++i,a,f500601(a),a+f500601(a)); } system("pause");}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
解压密码:c.itcast.cn