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;}
展开
4个回答
展开全部
//程序错误已经改正,希望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;
}
#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;
}
展开全部
#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)
}
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)
}
追问
?????
追答
输一个数,出一个结果,可以重复输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将 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了
for(n=3,f0=1,f1=1;n<=i;n++)
原先的是因为你再第二次输入数字的时候 f0和f1已经不是最初的值了 是你第一次运算过的值
改为 for(n=3,f0=1,f1=1;n<=i;n++)每次进入循环就初始化了
记得要初始原来的值就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序对的,你想要改什么?
追问
输入第一个数还行,输入第二个数就不可以啦 值就变了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询