如何使用C语言的一维数组实现斐波那契数列计算?
时间: 2024-12-08 08:17:41 浏览: 37
在C语言中,可以使用一维数组来存储斐波那契数列的前几个数字,因为斐波那契数列的特点是每个数都是前两个数之和。以下是一个简单的示例,展示了如何使用一维数组来计算并存储前n个斐波那契数:
```c
#include <stdio.h>
// 定义数组大小和初始化数组
#define SIZE 10
int fibonacci[SIZE] = {0, 1}; // 前两个数直接赋值
// 计算斐波那契数列到数组指定位置
void calculateFibonacci(int n) {
if (n > 2 && n <= SIZE - 2) {
for (int i = 2; i < n; i++) {
fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2]; // 递推公式
}
} else {
printf("数组大小不足以存储更多的斐波那契数。\n");
}
}
int main() {
int n;
printf("请输入你想计算的斐波那契数列项数(不超过 %d): ", SIZE - 1);
scanf("%d", &n);
calculateFibonacci(n); // 调用函数计算
printf("斐波那契数列前%d项: \n", n);
for (int i = 0; i < n; i++) {
printf("%d ", fibonacci[i]);
}
return 0;
}
```
在这个程序中,用户输入他们想要计算的项数,然后我们用`calculateFibonacci`函数计算并将结果存储在数组`fibonacci`中。注意,斐波那契数列通常会使用动态内存分配来避免预先设置大数组的问题,但在这个例子中为了简单起见,只考虑了有限的项数。
阅读全文