基于visual Studio2013解决C语言竞赛题之1060寻找回文数






题目


解决代码及点评

/*
60.	回文数指左右数字对称的数,如121,2112都是回文数。回文数猜想:取一任意十进制数,将其倒过来,并将这两个数相加,
    然后把这个相加的和倒过来再与原数相加..., 重复此过程可得到一个回文数。如取68为任意数,经三步相加可得回文数:
6 8
+ 8 6                测试数据:
─────               ① 68
1 5 4                    ② 5
4 5 1                    ③ 876
─────               ④ 12501
6 0 5
5 0 6
─────
1 1 1 1
注意:
1) 上机时不要随便自选数据,因为对有的数经几十万次以上相加还未得到回文数。
2) 由于一位、两位数十分简单,故仅从3位数开始才判它是否为回文数。即5,55,66这样的数在此处不把它当作回文数。
*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
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)拷贝代码与运行


程序运行结果


代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






你可能感兴趣的:(基于visual Studio2013解决C语言竞赛题之1060寻找回文数)