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

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

}


慕斯王
浏览 622回答 2
2回答

猛跑小猪

sum += 1/n;这里是整除应该是sum += 1.0/(double)n;还有double sum = 0;这里分号是全角的另外似乎sum是收敛的,所以输入limit不能很大完整程序#include&nbsp;<iostream> using&nbsp;namespace&nbsp;std; int&nbsp;main() { int&nbsp;n&nbsp;=&nbsp;1,limit; double&nbsp;sum&nbsp;=&nbsp;0; cin&nbsp;>>&nbsp;limit&nbsp;; while&nbsp;(sum&nbsp;<=&nbsp;limit) { sum&nbsp;+=&nbsp;1.0/(double)n; n++; } cout&nbsp;<<&nbsp;"n="&nbsp;<<&nbsp;n<<",sum="<<sum&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0; }你输入一个10,输出n=12368,sum=10以上上机测试通过。

肥皂起泡泡

你这是无限循环下去,存储sum的值是一定的,所以不会有结果,也可能崩掉。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS