...正整数m和n(m≥1,n≤10 000),输出m ~n 之间所有的Fibonacci数。_百度...
发布网友
发布时间:2024-10-02 13:53
我来回答
共5个回答
热心网友
时间:2024-10-07 07:26
你这个很明显是while导致一直循环 因为你m和n总是满足while里面的条件,结果就会一直做while循环里的语句。导致死循环了。可以的话把while删了或者换成if就行了
热心网友
时间:2024-10-07 07:25
将FOR里面的i<=n改成fib(i)<=n,就可以了
热心网友
时间:2024-10-07 07:24
while(m>=1&&n<=10000&&m<=n)
{
for(i=1;i<=n;i++)
if(fib(i)>=m&&fib(i)<=n)
printf("%d ",fib(i));
break;
}//加一句break;
热心网友
时间:2024-10-07 07:25
我也在做这道题,借鉴了你的调用函数,上传后没问题的~
#include<stdio.h>
int main(void){
int m,n,k,i;
int fib(int i);
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(k=m;k<=n;k++)
for(i=1;fib(i)<=n;i++){
if(k==fib(i))
printf("%.d ",k);
}
return 0;
}
int fib(int i){
if(i==1)
return 1;
if(i==2)
return 1;
else
return fib(i-1)+fib(i-2);
}
热心网友
时间:2024-10-07 07:26
酱油~~~~~~~~