C语言 在线等大神啊 帮我改啊

#include<stdio.h>intmain(){longintf0=1,f1=1,f2;intn,i;while(scanf("%d",&i)&&i!=-1){fo... #include <stdio.h>int main(){ long int f0=1,f1=1,f2; int n,i; while (scanf("%d",&i)&&i!=-1) { for(n=3;n<=i;n++) { f2=f1+f0; f0=f1; f1=f2; } printf("%ld\n",f2); } return 0;} 展开
 我来答
kutpbpb
2012-11-08 · TA获得超过528个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:385万
展开全部
//程序错误已经改正,希望kutpbpb的回答能对你有所帮助!
#include <stdio.h>
int main()
{

int n,i;
while (scanf("%d",&i)&&i!=-1)
{
long int f0=0,f1=1,f2; //错误:::这条语句应在这里,保证f0和f1在开始计算时被初始化为适当的值;
for(n=3;n<=i;n++)
{
f2=f1+f0;
f0=f1;
f1=f2;
}
printf("%ld\n",f2);
}
return 0;
}
烟火夜空
2012-11-08 · TA获得超过6623个赞
知道大有可为答主
回答量:1678
采纳率:93%
帮助的人:564万
展开全部
#include"stdio.h"
long FibonacciNumber(int num)
{
if(num<2) return num;

return(FibonacciNumber(num-1)+FibonacciNumber(num-2));

}
main()
{
int a;
long s;

scanf("%d",&a);

do

{
if(a<-1) printf("ERROR INPUT!");

else printf("The Fibonacci Number is %ld\n",FibonacciNumber(a));

scanf("%d",&a);

}while(a!=-1)
}
追问
?????
追答
输一个数,出一个结果,可以重复输入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宽厚还漂亮的桃花adc7
2012-11-08 · TA获得超过333个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:133万
展开全部
将 for(n=3;n<=i;n++)改为
for(n=3,f0=1,f1=1;n<=i;n++)
原先的是因为你再第二次输入数字的时候 f0和f1已经不是最初的值了 是你第一次运算过的值
改为 for(n=3,f0=1,f1=1;n<=i;n++)每次进入循环就初始化了
记得要初始原来的值就OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狗臂章
2012-11-08
知道答主
回答量:30
采纳率:0%
帮助的人:16.2万
展开全部
程序对的,你想要改什么?
追问
输入第一个数还行,输入第二个数就不可以啦 值就变了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式