你加打印在if 前边看看n4,n5 的值。
cout << "n4: " << n4 << endl;
cout << "n5: " << n5 << endl;
回答如下:这应该是要求“水仙花数”,但显然不符合要求,因为仅有n3在变化,并不是do-while的问题,是算法的设计问题,在这种情况下,100-110里面并没有水仙花数,所以结果就没有输出(输出为空),正确的代码应该这样写
#include<iostream>
using namespace std;
int main()
{
int n1;
int n2;
int n3;
int n4=0;
int n5=0;
for(n1=1;n1<10;n1++){
for(n2=0;n2<10;n2++){
for(n3=0;n3<10;n3++){
n4=100*n1+10*n2+n3;
n5=n1*n1*n1+n2*n2*n2+n3*n3*n3;
if(n4==n5){
cout<<n5<<" ";
}
else{
continue;
}
}
}
}
}