gpt4 book ai didi

C++ 函数返回 'inf' 而不是 double

转载 作者:搜寻专家 更新时间:2023-10-31 00:11:49 27 4
gpt4 key购买 nike

我有以下计算 n 次谐波数的简单代码。无论我尝试什么,我都会在输出中得到一个“inf”值。这怎么可能,即使我所有的变量都是 double 的?

#include <cstdlib>
#include <iostream>
using namespace std;

double harmonic(double n){
double h = 0.0;
while(n >= 0){
h = h + (1.0/n);
n = n-1.0;

}
return(h);
}
int main(int argc, char** argv) {
double n;
cout << "enter an integer: ";
cin >> n;
cout << "The " << n << "th harmonic number is: ";
cout << harmonic(n) << endl;

return 0;
}

最佳答案

想想这个:

while(n >= 0){
h = h + (1.0/n);
n = n-1.0;

}

假设我传入了 n = 0.0。循环将执行,但 n = 0 因此您正在执行除以零。

关于C++ 函数返回 'inf' 而不是 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com