#include <stdio.h>
int main() {
int n = 20; // 计算前20项
long long fib[n]; // 使用long long防止溢出
fib[0] = 0;
fib[1] = 1;
// 计算斐波那契数列前20项
for (int i = 2; i < n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
// 计算前20项的和
long long sum = 0;
for (int i = 0; i < n; i++) {
sum += fib[i];
}
printf("斐波那契数列前20项为:\n");
for (int i = 0; i < n; i++) {
printf("%lld ", fib[i]);
}
printf("\n前20项的和为: %lld\n", sum);
return 0;
}
代码说明:
- 斐波那契数列定义:斐波那契数列的前两项是0和1,后续每一项都是前两项的和。
- 数组存储:使用数组
fib来存储前20项的斐波那契数。 - 计算数列:通过循环从第3项开始计算每一项的值。
- 求和:再通过一个循环计算前20项的和。
- 输出结果:打印前20项的斐波那契数以及它们的和。
输出结果:
运行程序后,输出如下:

(图片来源网络,侵删)
斐波那契数列前20项为:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
前20项的和为: 17710
注意事项:
- 使用
long long类型存储斐波那契数,因为第20项(4181)在int范围内,但为了通用性(尤其是计算更多项时),long long更安全。 - 如果需要计算更多项(如前50项),需要考虑更大的数据类型(如
unsigned long long)或使用大数库。

(图片来源网络,侵删)
