用C语言代码求出fibonacci数列的前20项并存储在数组中,然后按照每行5个数据输出,其中,fibonocci数列,按如下递归定义: f(1)=1; f(2)=1; f(n)=f(n-1)+f(n-2),n>2;
时间: 2023-09-12 10:04:44 浏览: 154
求解fibonacci数列的前20项
### 回答1:
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int fib[20]; // 定义存储fibonacci数列的数组
fib[0] = fib[1] = 1; // 数列的前两项都为1
for (int i = 2; i < 20; i++) {
fib[i] = fib[i-1] + fib[i-2]; // 递推求出数列的后续项
}
for (int i = 0; i < 20; i++) {
printf("%d ", fib[i]); // 输出fibonacci数列
if ((i+1) % 5 == 0) {
printf("\n"); // 每输出5个数据换行
}
}
return 0;
}
```
输出结果为:
```
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
```
### 回答2:
#include <stdio.h>
// 求斐波那契数列前20项并存储在数组中
void generateFibonacci(int arr[], int n) {
arr[0] = 1;
arr[1] = 1;
for (int i = 2; i < n; i++) {
arr[i] = arr[i-1] + arr[i-2];
}
}
// 按照每行5个数据输出数组的元素
void printArray(int arr[], int n) {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
if ((i+1) % 5 == 0) {
printf("\n");
}
}
}
int main() {
int fib[20];
generateFibonacci(fib, 20);
printArray(fib, 20);
return 0;
}
使用C语言代码利用递归定义计算斐波那契数列的前20项,并将结果存储在一个数组中。然后按照每行5个数据的格式输出数组的元素。
首先,定义一个函数generateFibonacci,该函数接收一个整型数组和要计算的项数n作为参数。函数中,将数组的前两个元素设置为1,然后使用for循环计算第3到第n项的斐波那契数,并存储在数组中。
接下来,定义一个函数printArray,接收一个整型数组和数组的长度n作为参数。函数中,使用for循环遍历数组的元素,将每个元素输出。当输出了5个元素后,换行。
在主函数main中,声明一个长度为20的整型数组fib。调用generateFibonacci函数,将计算得到的斐波那契数列前20项存储在fib数组中。然后调用printArray函数,按照每行5个数据的格式输出fib数组的元素。最后返回0,表示程序顺利结束。
### 回答3:
以下是使用C语言代码求出Fibonacci数列前20项并存储在数组中,并按每行5个数据输出的程序:
```c
#include <stdio.h>
#define MAX_SIZE 20
void fibonacciSequence(int sequence[], int size) {
sequence[0] = 1;
sequence[1] = 1;
for (int i = 2; i < size; i++) {
sequence[i] = sequence[i - 1] + sequence[i - 2];
}
}
void printSequence(int sequence[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", sequence[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}
}
}
int main() {
int fibonacci[MAX_SIZE];
fibonacciSequence(fibonacci, MAX_SIZE);
printSequence(fibonacci, MAX_SIZE);
return 0;
}
```
运行此程序,将会输出以下结果:
```
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
```
阅读全文