用C语言实现,求斐波那契额数列前n项和,用递归函数实现
时间: 2024-05-06 13:20:15 浏览: 15
```c
#include <stdio.h>
int fib(int n);
int fib_sum(int n);
int main() {
int n;
printf("请输入n:");
scanf("%d", &n);
printf("斐波那契数列前%d项的和为:%d\n", n, fib_sum(n));
return 0;
}
// 递归实现斐波那契数列
int fib(int n) {
if (n == 1 || n == 2) {
return 1;
}
return fib(n - 1) + fib(n - 2);
}
// 递归实现斐波那契数列前n项的和
int fib_sum(int n) {
if (n == 1) {
return 1;
}
return fib(n) + fib_sum(n - 1);
}
```
相关问题
用C语言编写递归函数,实现斐波那契数列前20项的和。
好的,下面是C语言实现斐波那契数列前20项的和的递归函数代码:
```c
#include <stdio.h>
int fibonacci(int n);
int main() {
int sum = 0;
for (int i = 0; i < 20; i++) {
sum += fibonacci(i);
}
printf("斐波那契数列前20项的和为:%d\n", sum);
return 0;
}
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
}
else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
```
在主函数中,我们使用一个循环计算前20项的斐波那契数列元素的和,并将其存储在变量`sum`中。递归函数`fibonacci`用于计算斐波那契数列中第n个元素的值,如果n等于0或1,则直接返回n,否则递归计算`n-1`和`n-2`两个元素的和并返回结果。最终在主函数中输出斐波那契数列前20项的和。
用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 项斐波那契数列的和,并输出结果。