c语言程序设计题型_C语言题型

原问题:C语言题型
分类:编程开发 > 最后更新时间:【2017-03-18 23:14:00】
问题补充:

#include<stdio.h>

int fun(int n,int *s)

{int f1,f2;

if(n==1||n==2) *s=1;

else

{fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2;}

}

main()

{int x;

fun(6,&x);

printf("%d\n",x);

}

...................

最佳答案

你是要问该程序的结果?

它的结果为

8


追问:
嗯嗯,就是这个答案,我又做了一下做出来了,但不知道思路对不对,你帮我看一下呗,谢谢。第一次在s里放了f1,第二次放了f2,第三次放了f1+f2,第四次又放了f1并给它赋值1,第五次又放了f2也给它赋值1,第六次又放了f1+f2,所以最后得8.是吗?
  • 追答:
    这个是标准的斐波那契数列递归算法它的值为1,1,2,3,5,8你的这个是第6项,所以是8,它的通项公式为:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)
    最佳答案由网友  whoami1978  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    15

    分享到:

    其他回答

    暂无其它回答!

      推荐