c語言如何用陣列求fibonacci數列的前n項和

2021-08-16 11:19:25 字數 2014 閱讀 3830

1樓:問明

#include

int main()

int i,f[21]=;//對最前面兩個元素f[0]和f[1]賦初值1

for(i=2;i<21;i++)

f=f[i-2]+f[i-1];//先後求出f[2]~f[20]的值

for(i=0;i<21;i++)

if(i%5==0)//控制每輸出5個數後換行

printf("\n");

printf("%d\t",f);//輸出乙個數

printf("\n");

return 0;

printf()函式的呼叫格式為:printf("《格式化字串》",《參量表》)。

其中格式化字串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟乙個或幾個規定字元,用來確定輸出內容格式。

參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。

比如:int a=1234;

printf("a=%d\n",a);

輸出結果為a=1234。

scanf()是c語言中的乙個輸入函式。與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上#include。

int scanf(const char*restrict format,...);

函式scanf()是從標準輸入流stdin(標準輸入裝置,一般指向鍵盤)中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應位址的變數中。

如:scanf("%d%d",&a,&b);

函式返回值為int型,如果a和b都被成功讀入,那麼scanf的返回值就是2。

2樓:雪豹出擊

斐波那契數列是個很經典的數列了,這個數列可以用兩種方法實現,遞迴實現和迴圈實現,下面分別用遞迴和迴圈實現一次吧,希望對你有幫助。

遞迴:long fibonacci( unsigned int n)

遞迴實現非常簡單,**也簡單明瞭,但是遞迴有個致命的弱點,裡面計算很多是重複的,當n很大的時候,計算量會變得非常大,效率非常低.

迴圈:long fibonacci( unsigned int n)

return fadd;

}此種方法是首先根據f0,f1計算出f2,然後由f1,f2,計算出f3,依次類推,時間複雜度o(n),效率就改善了很多。推薦此種方法。

希望對你有幫助!!!

3樓:匿名使用者

什麼是fibonacci數列。

fibonacci數列列出的前幾項:1,1,2,3,5,8,13,21,3前兩項之和等於第三項,這個也就是大家說的**分割。

遞推式:

f1 = 1               (n = 1)f2 = 1               (n = 2)fn = fn-1 + fn-2     (n ≥2)用c語言完成的求前n項之和:

#include

void main(){

long sum=0;

long a[100];

int i,n;

scanf("%d",&n);    //輸入na[0]=a[1]=1;

sum=2;

for(i=2;i

4樓:匿名使用者

#include

#include

#define n 200

long int f[n];

void fi(int n);

long int sum(int n);

void main()

fi(n);

sum=sum(n);

printf("fibonacc數列前%d項和為:%ld\n",n,sum);

system("pause");

}void fi(int n)

return sum;

}我在vc上執行過,正確。

c語言兇求問如何用指標輸入一組二維陣列如

include include define n 4 定義乙個4列的二維陣列,每一行的儲存空間需要動態申請 int main int a 3 宣告3行的二維陣列,現在是指標陣列int i,j for i 0 i 3 i a i int malloc n sizeof int for j 0 j in...

如何用c語言模擬鍵盤輸入,如何用C語言模擬鍵盤輸入

還模擬什麼,這功能就有,平時輸入的時候,按著某個鍵不動,它就是以一定的時間間隔 不斷輸入 請問用c語言怎樣能實現程式自動模擬鍵盤輸入?15 我也不會,如果你們會,發個到1625485211 謝謝 c語言如何模擬鍵盤輸入?c語言模擬鍵盤 如下 int winapi winmain hinstance ...

C中陣列疑惑,C語言陣列問題

陣列有分動態陣列和靜態陣列 動態陣列,是指數組的元素個數,不是宣告的時候就定下來,比如int a new int i 這裡的i也是變數,有可能為1,也可能為10。靜態陣列,是指宣告的時候,元素的個數就確定下來了,比如int a 10 c語言中都是靜態陣列,c 中才有動態陣列的概念。樓主所說的並不是我...