c语言程序设计题型_C语言题型
问题补充:
#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 提供
其他回答
暂无其它回答!