qq_44032679 2018-12-09 11:22 采纳率: 100%
浏览 1064
已采纳

c++:输出所有10-1000内自身、平方、立方均为回文数的整数,我写的程序输出了11-21,想请教下问题在哪?

#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;
}

  • 写回答

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;

    如果有帮助,希望采纳,谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?