![](https://i-blog.csdnimg.cn/blog_migrate/45bc29f2b14ce6f5638a6dfcd0d465eb.png)
题目
解决代码及点评
/*
功能:打印所有不超过 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)拷贝代码与运行
程序运行结果