为了账号安全,请及时绑定邮箱和手机立即绑定

小白求助,为什么它都不输出结果呢???

小白求助,为什么它都不输出结果呢???

iOS
慕斯王 2018-12-13 15:15:11
#include using namespace std;int main(){    int n = 1,limit;    double sum = 0;    cin >> limit ;    while (sum <= limit)    {        sum += 1/n;        n++;    }        cout << "n=" << n<<"sum="<<sum ;    return 0;}
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

sum += 1/n;
这里是整除

应该是

sum += 1.0/(double)n;

还有
double sum = 0;
这里分号是全角的

另外似乎sum是收敛的,所以输入limit不能很大

完整程序

#include <iostream>
using namespace std;
int main()
{
int n = 1,limit;
double sum = 0;
cin >> limit ;
while (sum <= limit)
{
sum += 1.0/(double)n;
n++;
}
cout << "n=" << n<<",sum="<<sum ;
    return 0;
}

你输入一个10,输出
n=12368,sum=10

以上上机测试通过。


查看完整回答
反对 回复 2018-12-19
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

你这是无限循环下去,存储sum的值是一定的,所以不会有结果,也可能崩掉。


查看完整回答
反对 回复 2018-12-19
  • 2 回答
  • 0 关注
  • 620 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信