C语言的问题,这道题怎么做?

如题所述


如上图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-15
答案是8,这是结果
这个函数是使用递归算法计算斐波纳契数列的,那个数列是这样的:
1,1,2,3,5,8,13,21。。。。。依此类推
#include<stdio.h>
int fun(int n,int *s)
{
int f1,f2;
if(n==1 || n==2) // 如果是第一个或者第二个数,他们均为1
*s=1;
else
{
fun(n-1,&f1); // 递归计算前一个
fun(n-2,&f2); // 递归计算前两个位置的
*s=f1+f2; // 数列的定义就是当前位置是前两个数字之和
}
return 0;
}
int main()
{
int x;
fun(6,&x); // 看看数列第六个位置是不是8
printf("%d\n",x);
}本回答被提问者采纳
第2个回答  2019-07-15
??????
相似回答