递归求菲波拉契前N项的和

 1 #include <stdio.h>
 2 /*
 3 题目:用递归求菲波拉契序列前N项的和
 4 */
 5 int func(int n);
 6 int sum(int n);
 7 int main(void)
 8 {
 9     int N;
10 gogogo:printf("输入要求前N项的和(例:输入10,求出前10项的和)
");
11     scanf("%d",&N);
12     getchar();
13     printf("sum(%d) = %d
",N,sum(N));
14     goto gogogo;
15 
16     return 0;
17 }
18 int func(int n)
19 {
20     if(1 == n||2 == n)
21         return 1;
22     else
23         return func(n-1)+func(n-2);
24         
25 }
26 int sum(int n)
27 {
28     if(1 == n)
29         return 1;
30     else
31         return func(n)+sum(n-1);//前N项的和 = 第N项的值+前N-1项的和
32 }
原文地址:https://www.cnblogs.com/wangchaomahan/p/9550354.html