費波納契數列是程式設計入門的經典題目,本文將示範如何使用 C 語言建立一個長度為 20 的陣列,並將費波納契數列的前 20 項依序存入陣列中,最後印出結果供驗證。
建立一個長度為 20 的整數陣列,利用遞迴函數計算費波納契數列的前 20 項(第 0 項至第 19 項),並將計算結果依序存入陣列,最後輸出每一項的值。
fib(n) 計算第 n 項費波納契數:fib(0)=0、fib(1)=1、fib(n)=fib(n-1)+fib(n-2)。main() 中宣告 int num[20] 陣列。for 迴圈呼叫 fib(i) 將結果存入 num[i]。/* 程式標頭註解 */
#include <stdio.h>
int fib(int n); // 宣告遞迴函數
int main()
{
int i;
int num[20];
for(i = 0; i < 20; i++)
{
num[i] = fib(i);
}
for(i = 0; i < 20; i++)
{
printf("第%2d個費波納契數有:%d\n", i+1, num[i]);
}
return 0;
}
// 遞迴函數定義
int fib(int n)
{
if(n == 0)
{
return 0;
}
else if(n == 1)
{
return 1;
}
else
{
return fib(n-1) + fib(n-2);
}
}

此範例採用遞迴寫法,雖然程式碼簡潔易懂,但遞迴呼叫會產生大量重複計算,當 n 較大時效率較低。實務上可改用迴圈或動態規劃(備忘錄法)來優化效能。