#include
int main(){
int m[16], n, i, t, count=0;
long unsigned a, k;
printf("No. number it's square(palindrome)\n");
for( n=1; n<256; n++ ) /*穷举n的取值范围*/
{
k=0; t=1; a=n*n; /*计算n的平方*/
for( i=0; a!=0; i++ ) /*从低到高分解数a的每一位存于数组m[1]~m[16]*/
{
m[i] = a % 10;
a /= 10;
}
for(; i>0; i--)
{
k += m[i-1] * t; /*t记录某一位置对应的权值 */
t *= 10;}
if(k == n*n)printf("%2d%10d%10d\n", ++count, n, n*n);
}
return 0;
}
扩展资料:
C语言在编写的时候需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”)。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-回文数
程序如下:
#include "stdio.h"
int main()
{
int u,m;
int sum=0;
printf("请输入要判断的数u=");
scanf("%d",&u);
m=u;
while(m)
{
sum=sum*10+m%10;
m=m/10;
}
if(sum==u)
printf ("u是回文数");
else
printf("u不是回文数");
printf("\n");
return 0;
}
程序运行结果:
假设输入一回文数12321
参考代码如下:
#include
int check(int *data,int n){
int i,j;int x=0,y=0;
while(n!=0){*(data+y)=n%10;n=n/10;y++;}
*(data+y)='\0';
for(i=0,j=y-1;i<=j;i++,j--){
if(*(data+i)==*(data+j)){return 1;}}
return 0;
}
void main(){
int i,x,a[10],num=0;
printf("请输入一个正整数:");
scanf("%d",&x);for(i=1;i<=x;i++) num=num+separate(a,x);
printf("%d\n",num);
}