递归求菲波拉契前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项的和)\n"); 11 scanf("%d",&N); 12 getchar(); 13 printf("sum(%d) = %d\n",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 }