九度题目1074对称平方数

#include<stdio.h>
int main(){
      int n,p,i,x,m;


 n=0;
 while(n<256){
 bool c=true;
     int a[10];
 p=n*n;
 i=0;
 while(p>0){
     a[i]=p%10;
 p=p/10;
 i++;
 }
 if(i==1){
     printf("%d\n",n);
 }
 else{
   m=i/2;
   x=i;//x是p的位数
            for(i=0;i<m;i++){
   if(a[i]!=a[x-i-1]){
        c=false;
    break;
}
}
            if(c==true){
                printf("%d\n",n);
}
 }
 n++;
 }
 return 0;

}


第一次错误:忘了n++;

第二次错误:少算了0

还有不能忘记考虑  平方为一位数时的情况 也就是循环时的边缘数值


你可能感兴趣的:(c)