我输入1 10是可以输出的,但是输入20 100 就没有输出了,求指教!
#include "stdio.h"
#include "math.h"
int main(void)
{
int i, m, n;
int repeat, ri;
long f;
long fib(int n);
int a,b,c;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
f=m;
i=m;
f=fib(i);
while(f<=n){
i++;
printf("%ld ",f);
f=fib(i);
}
printf("\n");
}
}
long fib(int n)
{
long f;
if(n==1||n==2){
f=1;
}
else{
f=fib(n-1)+fib(n-2);
}
return f;
}
C程,输出m到n之间的斐波那契数列,要求调用函数fib(n)求第n项
答案:2 悬赏:70 手机版
解决时间 2021-03-12 18:23
- 提问者网友:轮囘Li巡影
- 2021-03-11 19:25
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-03-11 20:41
#include "stdio.h"
#include "math.h"
int main(void)
{
int i, m, n;
int repeat, ri;
long f;
long fib(int n);
int a,b,c;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
i=1;
f=fib(i);
while(1){
i++;
if(f>=m)
printf("%ld ",f);
f=fib(i);
if(f>n) break;
}
printf("\n");
}
}
long fib(int n)
{
long f;
if(n==1||n==2){
f=1;
}
else{
f=fib(n-1)+fib(n-2);
}
return f;
}
#include "math.h"
int main(void)
{
int i, m, n;
int repeat, ri;
long f;
long fib(int n);
int a,b,c;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
i=1;
f=fib(i);
while(1){
i++;
if(f>=m)
printf("%ld ",f);
f=fib(i);
if(f>n) break;
}
printf("\n");
}
}
long fib(int n)
{
long f;
if(n==1||n==2){
f=1;
}
else{
f=fib(n-1)+fib(n-2);
}
return f;
}
全部回答
- 1楼网友:煞尾
- 2021-03-11 22:20
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯