程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c語言-新人求解一道C語言問題!!!!

c語言-新人求解一道C語言問題!!!!

編輯:編程解疑
新人求解一道C語言問題!!!!

輸出[m,n]范圍內的所有斐波那契(Fibonacci)數,m,n這兩個數由鍵盤輸入。
【提示】
1,1,2,3,5,8,13,21,34,……這是斐波那契(Fibonacci)數列的前幾項。斐波那契數列的特點:前兩項均為1,後面任意一項都是其前面兩項之和。
本實驗雖然只要求輸出在[m,n]范圍內的斐波那契數,但是依然需要從第1個Fibonacci數開始依次得到下一個,並判斷是否是需要輸出的那個。

最佳回答:


首先先開一個數組,把斐波那契數列存到數組裡,然後再讀入兩個數字m和n,尋找數組中滿足條件數字,輸出來

 #include<stdio.h>
int main()
{
    int f[100];
    int m, n, i;

    f[0] = 1; f[1] = 1;
    for (i = 2; i < 100; i++)f[i] = f[i - 1] + f[i - 2];

    scanf("%d%d", &m, &n);

    for (i = 0; f[i] < m; i++);
    for (; f[i]<n; i++) printf("%d ",f[i]);

    return 0;
}

程序有些小毛病沒有太細致的修改。比如斐波那契數列後續的數目越來越大,int很有可能存不下,如果m和n比較大的話會出錯。如果出現這種情況,建議你用long或者更大的數來存。再有,我默認了m比較小而n比較大。如果程序有其他要求或條件的話,需要進行相應的修改

qq_36519547
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved