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




题目


解决代码及点评

/*
功能:打印所有不超过 n( n<256)的其平方具有对称性的数(也称回文数)

 
*/

#include<stdio.h>
#include<stdlib.h>

int judgReOrd(int);
int getBit(int);		//返回整数值的位数

void main(){
	for (int i = 0; i < 256; i++)
	{
		int flag = judgReOrd(i*i);			//进入函数判断是否为回文数 1为回文,0为非回文
		if (flag == 1)
			printf("%d * %d = %d \n",i,i,i*i);
	}
	system("pause");
}

int judgReOrd(int n){
	int a[10] = { 0 };
	int t = getBit(n);
	for (int i = 0; i < t; i++){			//将每一位数传给数组a

		a[i] = n % 10;
		n /= 10;
	}
	/*for (int i = 0; i < t; i++){

		printf("%d",a[i]);
	}*/
	
	int flag = 1;							//标示符flag 1位回文
	for (int i = 0; i<t / 2; i++){			//利用数组下标判断是否为回文数

		if (a[i] != a[t-1-i]){
			flag = 0;
			break;
		}
	}
	return flag;
}

int getBit(int n){
	int x = 0;
	while (n > 0){
		x++;
		n /= 10;
	}
	return x;
}



代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行


程序运行结果






posted on 2013-12-04 22:19  三少爷的剑123  阅读(134)  评论(0编辑  收藏  举报

导航