使用while循环计算前n个Fibonacci数的程序

Lui*_*uis 0 c++ putty fibonacci while-loop

当我运行它并输入一个数字时,它只是不停地重复它.例如,如果我放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;
}
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

代码有几个问题:

  1. 你永远不会fibnum在循环体内分配任何东西,所以它的值永远不会改变.
  2. 目的current++完全不清楚.

基本上,您需要确定每个变量的确切含义,并始终坚持下去.这些变量的使用方式,对于current和的目的显然存在混淆fibnum.