编写递归函数,求斐波那契数列第n项

  • Post author:
  • Post category:其他



要求:

编写递归函数int f(int n),计算如下公式:

定义main函数输入n,调用f函数进行计算,在main函数中输出计算结果。


【样例输入】

10

【样例输出】

89

主函数:

#include<stdio.h>

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项的和
    }
}



版权声明:本文为m0_73509997原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。