qq_36519547
qq_36519547
采纳率47.1%
2016-11-09 01:48

一道C语言编程问题求解答如何写呢

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • qq_29594393 当作看不见 5年前
    while(f[i]<n){
           f[i+1]=f[i]+f[i-1];
            i+=1;
    }
    for(int j=0;j<f.length;j++){
    if(f[i]>m){
            printf("%d ,",f[i]);
    }else{
    break;}
    }
    
    
    点赞 评论 复制链接分享
  • qq_29594393 当作看不见 5年前
       #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;
    }
    
    点赞 1 评论 复制链接分享
  • Book1346 Book1346 5年前

    int f[3];
    f[0] = 1;
    f[1] = 1;
    f[2] = 0;
    int i = 0;
    while (f[i]<=n){
    f[i] = f[(i+2)%3] + f[(i+1)%3];
    if(f[i]>=m){
    printf("%d ,",f[i]);
    }
    i = (i + 1) % 3;
    }

    点赞 评论 复制链接分享
  • qq_35189707 qq_35189707 5年前

    写一个for里面计算斐波那契数,里面嵌套两个if,一个判断是否输出,另一个判断break,似乎用不到数组…

    点赞 评论 复制链接分享

相关推荐