打印所有10000以内的,其平方具有对称性质的数(也称回文数)
如
1*1=1
11*11=121
22*22=484
我的代码:
#include <stdio.h> void huiwen(int n)
{
int num=0,i,index_max,j;
num=n*n;
int str[10]={};
for(i=0;num>0;i++)
{
str[i]=num%10;
num/=10;
}
index_max=i;
for(i=0;i<index_max&&index_max>0;i++)
{
if(str[i]==str[index_max]-1)
{
i++;
index_max--;
}
}
printf("%d\n",num);
}
int main()
{
int n;
for(n=1;n<100;n++)
huiwen(n);
return 0;
}
我是看过老师的代码后凭着印象写的。请大神看看哪里有问题。
顺便弄段正确的代码瞧瞧
如
1*1=1
11*11=121
22*22=484
我的代码:
#include <stdio.h> void huiwen(int n)
{
int num=0,i,index_max,j;
num=n*n;
int str[10]={};
for(i=0;num>0;i++)
{
str[i]=num%10;
num/=10;
}
index_max=i;
for(i=0;i<index_max&&index_max>0;i++)
{
if(str[i]==str[index_max]-1)
{
i++;
index_max--;
}
}
printf("%d\n",num);
}
int main()
{
int n;
for(n=1;n<100;n++)
huiwen(n);
return 0;
}
我是看过老师的代码后凭着印象写的。请大神看看哪里有问题。
顺便弄段正确的代码瞧瞧