#include
using namespace std;
extern int n=10, i, j,m=0;
int hui(int n)
{
i = 0;
j = n;
while (j != 0)
{
i = i * 10 + j % 10;
j = j / 10;
}
if (i == n)
m++;
else
m = m;
return 0;
}
int main()
{
while (n <= 1000)
{
hui(n);
hui(n*n);
hui(n*n*n);
if (m == 3)
{
cout << n << "自身、平方、立方均为回文数";
}
n++;
}
return 0;
}

c++:输出所有10-1000内自身、平方、立方均为回文数的整数,我写的程序输出了11-21,想请教下问题在哪?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- _ZGq 2018-12-09 12:56关注
首先11没问题;
然后,m==3,n==12~21,while循环中m仍在3的基础上累加,但是都累加0,m一直等于3,就一直输出;
直到22,又累加了3次,m==6,以后m都不等于3了,就都不输出了。解决办法:在while循环尾部加一个m=0;
如果有帮助,希望采纳,谢谢
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报