我是C++编程的新手,我有点迷路。这是我应该做的以及我的代码。有什么想法做什么?

编写一个使用while循环计算前n个斐波纳契数的程序。从数学上回想一下斐波那契数列的以下定义:



该程序应提示用户输入n(斐波纳契数),并将结果打印到屏幕上。如果用户输入的n值无效(n
输出应类似于以下内容:

输入要计算的斐波那契数的数量:3
前三个斐波那契数是:
1 1 2

#include <iostream>
using namespace std;
int main()
{
    int f0 = 0, f1  = 1,f2= 2, i = 0, n;
    cout << "Enter the number of Fibonacci numbers to compute: ";
    cin >> n;
    if ( n <= 0)
    {
        cout <<"Error: Enter a positive number: ";
        return 1;
    }
    while ( i < n){
        f2 = f0 + f1;
        i++;
    }

    cout << "The first " << n << " Fibonacci numbers are: " << endl;
    cin >> n;
    return 0;
}

最佳答案

 while ( i < n){
        f2 = f0 + f1;
        i++;
    }

看到这个循环,这里就是问题所在,因为这是家庭作业,所以我不会确切地说出问题是什么,花笔和纸,然后开始执行语句,特别是在这个循环中,您会发现错误。提示,斐波那契数是前两个斐波那契数之和。

10-05 21:28