用C++无法输出水仙花数

来源:百度知道 编辑:UC知道 时间:2024/06/20 00:25:29
#include <iostream>
using namespace std;

int main()
{
int a,b,c;
int d;
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
if(d==(100*a+10*b+c) && sd==(a*a*a+b*b*b+c*c*c))
cout<<d<<" "<<endl;
else
cout<<endl;
return 0;
}

这样子为何无法输出结果,编译直接显示PRESS ANY KEY```````
第十行sd应该是d

程序中貌似没对d这变量赋过值吧
将就你的程序做了下改变
#include <iostream>
using namespace std;

int main()
{
int a,b,c;
int d;
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
if(d=(100*a+10*b+c),d==(a*a*a+b*b*b+c*c*c))/*这行改了,先对d赋值,然后判断*/
cout<<d<<" ";
return 0;
}
程序已编译通过

//编写一个程序,打印出所有的“水仙花数”

#include<iostream.h>
#include<stdlib.h>
int main()
{
int a,b,c,d;
for(int i=100;i<1000;i++)
{
a=i;
b=a%10;a/=10;
c=a%10;a/=10;
d=a;
if(i==b*b*b+c*c*c+d*d*d)
cout<<i<<" ";
else
continue;
}
system("pause");
}

这个是我以前写的程序,建议你也做一个自己的程序集,会对你有帮助的

你设计的思想就是对的!穷举,但是有一点你忘记了计算机不会解方程,你上面的就像一个方程一样,其次你要想得到结果,就必须对d加以