DQZDH 发表于 2020-5-16 11:31:53

C语言求助各位大哥,这个n为什么不会循环啊?

#include<stdio.h>
int main()
{
int n; //数字1-256
int j;//n的平方
int y=0; //用来存放新组成的数字
int t; //进位
for(n=1;n<=256;n++)
{
   j=n*n;
      while(j!=0)
    {
      y=y*10+j%10;
      j=j/10;
    }
       if( y==n*n )
   {
       printf("%d该数为回文数,平方为%d",n,n*n);
   }
}
return 0;
}

1469396970 发表于 2020-5-16 11:50:39

你把那个if条件放到while循环里试试

DQZDH 发表于 2020-5-16 12:32:01

1469396970 发表于 2020-5-16 11:50
你把那个if条件放到while循环里试试

抱歉,是我说错了,是输出不了结果,求1-256的回文数,

小猪鼠 发表于 2020-5-16 23:33:21

本帖最后由 小猪鼠 于 2020-5-16 23:37 编辑

如果你只是要求回文数的话,我改了下{:5_92:}
#include<stdio.h>
int main()
{
      int n; //数字1-256
      int j;
      for(n=1;n<=256;n++)
      {
                int y=0; //用来存放新组成的数字
                j=n;
                while(j!=0)
                {
                        y=y*10+j%10;
                        j=j/10;
                }
                if( y==n )
                {
                        printf("%d为回文数!\n",n);
                }
      }
      return 0;
}

星宇☆凌云 发表于 2020-5-17 10:44:20

楼主在循环中,y值没有清0。
页: [1]
查看完整版本: C语言求助各位大哥,这个n为什么不会循环啊?