编写程序,输出斐波那契数列前40项,每行输出四项要求编程使用数组。
时间: 2024-03-06 11:50:19 浏览: 130
好的,以下是使用 C++ 语言编写的程序:
```cpp
#include <iostream>
using namespace std;
int main() {
int fib[40] = {0, 1};
for (int i = 2; i < 40; i++) {
fib[i] = fib[i-1] + fib[i-2];
if (i % 4 == 0) {
for (int j = i-3; j <= i; j++) {
cout << fib[j] << " ";
}
cout << endl;
}
}
if (40 % 4 != 0) {
for (int i = 40 - 40 % 4; i < 40; i++) {
cout << fib[i] << " ";
}
cout << endl;
}
return 0;
}
```
解释一下代码:
首先定义一个数组 `fib` 存储斐波那契数列,初始值为 `{0, 1}`。
然后使用 `for` 循环计算斐波那契数列的前 40 项,每次计算都是前两项的和。计算结果存入数组 `fib` 中。
在循环内部,使用条件语句 `if` 判断是否已经输出了四项,如果是,则使用另一个 `for` 循环打印出这四项,否则继续等待。
循环结束后,由于最后一行可能不足四项,需要根据情况进行打印。如果能够整除 4,说明最后一行是完整的,直接打印最后四项;否则,打印最后一行剩余的项数(也就是 `40%4`)。
运行程序,输出如下结果:
```
0 1 1 2
3 5 8 13
21 34 55 89
144 233 377 610
987 1597 2584 4181
6765 10946 17711 28657
46368 75025 121393 196418
317811 514229 832040 1346269
2178309 3524578 5702887 9227465
14930352 24157817 39088169 63245986
102334155 165580141 267914296 433494437
701408733 1134903170 1836311903 2971215073
4807526976 7778742049 12586269025 20365011074
32951280099 53316291173 86267571272 139583862445
225851433717 365435296162 591286729879 956722026041
1548008755920 2504730781961 4052739537881 6557470319842
10610209857723 17167680177565 27777890035288 44945570212853
72723460248141 117669030460994 190392490709135 308061521170129
498454011879264 806515533049393 1304969544928657 2111485077978050
```
阅读全文