高手帮我看看这个程序哪里错了,求1~256之间所有的回文数,例11的平方为121,它的平具有对称性c语言编写

2024-12-13 04:30:28
推荐回答(5个)
回答1:

你枚举每个i的时候,忘记初始化k了。

#include
main()
{
int i = 1, s, k = 0;
for ( ; i <= 256; i++)
{
s = i * i;
k = 0; //我加了这一句
for (;s != 0;)
{
k = k * 10 + s % 10;
s = s / 10;
}
if (k == i * i)
printf("%4d",i);
}
getch();
}

回答2:

首先你要了解什么是回文数 该数字的特点是什么。"回文数"是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。
而你说的121 是平方回文数
所以我不知你要找哪种?

回答3:

s=i*i;
for(;s!=0;)
改为
s=i*i;
k=0;
for(;s!=0;)
试试。

回答4:

#include
main()
{
int i=1,s,k=0;
for (;i<=256;i++)
{ s=i*i;
k=0;
for(;s!=0;)
{ k=k*10+s%10;
s=s/10;
}
if(k==i*i)
printf("%4d",i);
}
getch();
}

回答5:

11的平方是121 12的平方是144