fibonacci数列c语言问题
答案:3 悬赏:10 手机版
解决时间 2021-12-31 22:15
- 提问者网友:蓝莓格格巫
- 2021-12-31 12:34
#include
long f(int y)
{ if(y= =1|| y= =2)
return 1;
else
return f(y-1)+f(y-2);
}
main( )
{ long x,long f(int y);
x=f(4);
printf(“f(4) is %ld\n”,x);
}
请问这个最后执行出来f(4)是多少
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-12-31 13:50
显然是3呀:第一项和第二项都是1,所以第三项是2,第四项就是3啦,执行结果也对!不过你的程序有错误:
#include
long f(int y)
{ if(y= =1|| y= =2)//"=="中间不能有空格
return 1;
else
return f(y-1)+f(y-2);
}
main( )
{ long x,long f(int y);//long x后面应该是“;”而不是“,”,或者说long f(int y);这个生命可以去掉
x=f(4);
printf(“f(4) is %ld\n”,x);
}
全部回答
- 1楼网友:七十二街
- 2021-12-31 14:21
#include "stdio.h"
void main()
{
int n,a=1,b=1,c,i;
printf("输入n(>2):");
scanf("%d",&n);
for(i=3;i<=n;i++)
{
c=a+b;
a=b;b=c;
}
printf("%d\n",c);
}
- 2楼网友:青灯有味
- 2021-12-31 14:08
首先你的程序有些许问题:
修改后:
#include
long f(int y)
{
if(y==1|| y==2)
return 1;
else
return f(y-1)+f(y-2);
}
main( )
{
long x,long f(int y);
x=f(4);
printf("f(4) is %ld\n",x);
}
-------------------------
运行结果:f(4) is 3
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯