要求:编写递归函数int f(int n),计算如下公式:
定义main函数输入n,调用f函数进行计算,在main函数中输出计算结果。
【样例输入】
10
【样例输出】
89
主函数:
#include
int main() {
int i,n;
printf("请输入你要打印的斐波那契数列项数:\n");
scanf("%d",&n);//n为打印的项数
printf("斐波那契数列:");
for (i =1 ; i <= n; i++) {
printf("%d ",fun(i));//fun函数返回的是第i项,所以用for循环打印每一项
}
return 0;
}
int fun(int n)
- int fun(int n) {
- if (n == 0 || n == 1) { //通过数列的规律发现,前两项都为1,作为递归的终止条件
- return 1;
- }
- else {
- return (fun(n-1) + fun(n-2)); //要求第n项,就是求n-1项和n-2项的和
- }
- }