作业帮 > 综合 > 作业

C语言纠错,【问题描述】输入2个正整数m和n(m≥1,n≤10 000),输出m n之间所有的Fibonacci数

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/30 23:33:35
C语言纠错,
【问题描述】输入2个正整数m和n(m≥1,n≤10 000),输出m n之间所有的Fibonacci数。Fibonacci数列(第一项起):1,1,2,3,5,8,13,21,…。要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。
#include
int fib(int i)
{
int fib[10000]={1,1};
for(i=2;;i++){
fib[i]=fib[i-1]+fib[i-2];
return fib[i];}
}
int main()
{
int m,n,i,t;
printf("Input m:");scanf("%d",&m);
printf("Input n:");scanf("%d",&n);
for(t=m;t
C语言纠错,【问题描述】输入2个正整数m和n(m≥1,n≤10 000),输出m n之间所有的Fibonacci数
#include<stdio.h>
int fib(int i)      //用递归来实现
{
 if(i==1 || i==2)
  return 1;
 return fib(i-1)+fib(i-2);
}
int main()
{
 int m,n,i,t;
 printf("Input m: ");
 scanf("%d",&m);
 printf("Input n: ");
 scanf("%d",&n);
 for(i=1;fib(i)>=m && fib(i)<=n;i++) //主要改动就在这儿,
 {
  printf("%d ",fib(i));
 }

 return 0;
}
再问: 为什么此题不能用数组写函数呢
再答: 可以的 但是效率低