当我运行它并输入一个数字时,它会不停地重复它。例如,如果我放一个3,它将执行此操作
3
3
3
3
3
但不停

int main()
{
int current=0, prev=1, prev2=1, fibnum;
cout << "Enter the number of Fibonacci numbers to compute: ";
cin >> fibnum;
if (fibnum <=0)
{
    cout << "Error: Enter a positive number: ";
}
while (fibnum > 0){
    current = prev + prev2;
    prev = prev2;
    prev2 = current;
    current++;

    cout << "," << fibnum;
    cout << endl;
}
return 0;
}

最佳答案

代码有几个问题:


您永远不会在循环主体内为fibnum分配任何内容,因此其值永远不会改变。
current++的目的完全不清楚。


基本上,您需要确定每个变量的确切含义,并始终坚持下去。使用这些变量的方式中,围绕currentfibnum的目的显然存在混淆。

关于c++ - 该程序使用while循环来计算前n个斐波那契数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7593355/

10-11 15:20