C语言问题新人求解 一道编程题目

C语言问题新人求解 一道编程题目

问题描述:

输出[m,n]范围内的所有斐波那契(Fibonacci)数,m,n这两个数由键盘输入。
【提示】
1,1,2,3,5,8,13,21,34,……这是斐波那契(Fibonacci)数列的前几项。斐波那契数列的特点:前两项均为1,后面任意一项都是其前面两项之和。
本实验虽然只要求输出在[m,n]范围内的斐波那契数,但是依然需要从第1个Fibonacci数开始依次得到下一个,并判断是否是需要输出的那个。

用一维数组的?怎么写 要有一维数组啊!!!!

数组的,顺带把前面的几个问题都采纳了吧。

  #include <stdio.h>

int main()
{
int f[100];
f[0]=1,f[1]=1,f[2]=2;
int m,n;
scanf("%d%d",&m,&n);
//获取输入的m,n的值
int i=2;
while(f[i]<n){
    if(f[i]>m)
        printf("%d ,",f[i]);
        f[i+1]=f[i]+f[i-1];
        i+=1;
}

   return 0;
}

程序的开始先打表,即先求若干项Fibonacci数存在数组里,然后当输入n,m时直接查询这个数组即可