用c语言编写一个递归函数求Fibonacci数列的第n项,在主函数中调用函数输出数列的前20项。
时间: 2024-05-13 17:14:37 浏览: 10
以下是用C语言实现Fibonacci数列的递归函数,以及在主函数中调用该函数输出数列的前20项的代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int i, n = 20;
printf("Fibonacci sequence:\n");
for (i = 1; i <= n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
在该代码中,`fibonacci`函数接收一个整数参数`n`,并返回Fibonacci数列的第`n`项。当`n`等于1或2时,函数返回1;否则,函数递归地调用自身计算第`n-1`项和第`n-2`项的和。
在主函数中,我们使用一个循环来输出数列的前20项。对于每个`i`,我们调用`fibonacci`函数来计算第`i`项,并将结果输出到屏幕上。最后,我们在输出结束后打印一个换行符,以便在输出的数列之后添加一个空行。
相关问题
用C语言编写一个递归函数,输出斐波那契数列前n项和
以下是用C语言编写的递归函数,输出斐波那契数列前n项和的代码:
```c
#include<stdio.h>
int fib(int n) {
if(n == 1 || n == 2) {
return 1;
} else {
return fib(n-1) + fib(n-2);
}
}
int sumFib(int n) {
int sum = 0;
for(int i=1; i<=n; i++) {
sum += fib(i);
}
return sum;
}
int main() {
int n;
printf("请输入要输出的斐波那契数列的项数:");
scanf("%d", &n);
printf("前%d项斐波那契数列的和为:%d\n", n, sumFib(n));
return 0;
}
```
在上述代码中,`fib(n)` 函数用于计算斐波那契数列的第 n 项,`sumFib(n)` 函数用于计算前 n 项斐波那契数列的和。在 `main()` 函数中,首先输入要输出的项数 n,然后调用 `sumFib(n)` 函数计算前 n 项斐波那契数列的和,并输出结果。
C语言设计程序,递归函数求斐波那契数列第n项
好的,下面是递归函数求斐波那契数列第n项的C语言程序:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n;
printf("请输入要求第几项的斐波那契数列: ");
scanf("%d", &n);
printf("斐波那契数列第%d项为: %d\n", n, fibonacci(n));
return 0;
}
```
其中,`fibonacci`函数的递归规则与上面的程序相同。在`main`函数中,先输入要求的项数`n`,然后调用`fibonacci`函数计算第`n`项的值,并输出结果。