C++题目,大家一起探讨一下,给个答案

编程求Fibonacci 数列前n项:0,1,1,2,3,5,8,13,21,34,……。
输出要求:每行输出显示8个数,每个数设置显示宽度8。

运行图:

img

代码如下:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int i,n;
    int a1 = 0,a2 = 1,t;
    cin >> n;
    for (i=1;i<=n;i++)
    {
        if(i==1)
            cout << setw(8) << a1;
        else if(i==2)
            cout << setw(8) << a2;
        else
        {
            t = a1+ a2;
            a1 = a2;
            a2 = t;
            cout << setw(8) << t;
        }
        if(i%8==0)
            cout << endl;
    }
    return 0;
}

你题目的解答代码如下:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int i,n,a=0,b=1,c;
    cin >> n;
    for (i=1;i<=n;i++)
    {
        cout << setw(8) << a;
        if(i%8==0)
            cout << endl;
        c = a+b;
        a = b;
        b = c;
    }
    return 0;
}

img

如有帮助,望采纳!谢谢!