C++问题,请大鸟们快来指点!

打印出所有的"水仙花数".所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身,例如:153=1的立方+5的立方+3的立方.下面有两段代码代码I正确代码二错误麻烦帮我... 打印出所有的"水仙花数".所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身,例如:153=1的立方+5的立方+3的立方.
下面有两段代码 代码I正确 代码二错误 麻烦帮我看一下哪里错了 并帮我改正过来 且加以说明 另外代码I为什么不能用cout打印a。谢谢了!
//代码I:
#include <iostream>
#include<math.h>
int main()
{
int a=100,b,c,d;
printf("水仙花数有:");
while(a<=999)
{
b=a/100;
c=(a-100*b)/10;
d=a-100*b-10*c;
if(a==pow(b,3)+pow(c,3)+pow(d,3))
printf("%d ",a);
a++;
}
system("pause");
}

//代码II:
#include <iostream>
#include <math.h>
using namespace std;
bool shuixian(int n);
int main()
{
for(int i=100;i<1000;i++)
{
shuixian(i);
cout<<i<<"\t";
}
system("pause");
}
bool shuixian(int n=100)
{
int s1,s2,s3;
while(n<1000)
{
s1=(n%100)%10;
s2=(n%100)/10;
s3=n/100;
n++;
}
if(n==pow(s1,3.0)+pow(s2,3.0)+pow(s3,3.0))
{
return true;
}
}
第二段代码 就打印了 1000个数字
展开
 我来答
yshblue
推荐于2016-11-17 · TA获得超过206个赞
知道答主
回答量:268
采纳率:100%
帮助的人:257万
展开全部
第一段代码,改为这样就行了:
头文件要.h 没的话。cout函数就编译出错
#include <iostream.h>
#include<math.h>
int main()
{
int a=100,b,c,d;
cout<<"水仙花数有:";
while(a<=999)
{
b=a/100;
c=(a-100*b)/10;
d=a-100*b-10*c;
if(a==pow(b,3)+pow(c,3)+pow(d,3))
cout<<a<<endl;
a++;
}
return 0;
}

第二段代码,改为:
#include <iostream>
#include <math.h>
using namespace std;
bool shuixian(int n);
int main()
{
for(int i=100;i<1000;i++)
{
if (shuixian(i))
{
cout<<i<<"\t";
}
}
return 0;
}

bool shuixian(int n)
{
int s1,s2,s3;

s1=(n%100)%10;
s2=(n%100)/10;
s3=n/100;
if(n==pow(s1,3.0)+pow(s2,3.0)+pow(s3,3.0))
return true;
else
return false;
}

这一段代码中,main函数已经在实现100到1000的循环了,shuixian这个函数就没不用再实现了。
既然你把shuixian定义为bool型,就是想返回为1时,打印,返回0,不打印。
那主函数,就得有一个if (shuixian(i); ),然后打不打印。你只有一个shuixian(i); 你想表示什么????

shuixian这函数里,必须不管什么值都得有返回值,只有符合时返回true没有不
符合时返回flase,编译时会有一个警告。
zhangna_307
2008-11-30 · TA获得超过566个赞
知道小有建树答主
回答量:634
采纳率:0%
帮助的人:164万
展开全部
1里的头文件不是#include <iostream> 这样的吧,因为是#include <iostream.h> 啊
2中的头文件#include <math.h>应该是#include <cmath>
因为下面已经定义了using namespace std;了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式