本題要求編寫程序,利用數組計算菲波那契(Fibonacci)數列的前N項,每行輸出5個,題目保證計算結果在長整型范圍內。Fibonacci數列就是滿足任一項數字是前兩項的和(最開始兩項均定義為1)的數列,例如::1,1,2,3,5,8,13,...。
輸入格式:
輸入在一行中給出一個整數N(1)。
輸出格式:
輸出前N個Fibonacci數,每個數占11位,每行輸出5個。如果最后一行輸出的個數不到5個,也需要換行。
如果輸入的N不在有效范圍內,則輸出"Invalid."。
輸入樣例1:
7
輸出樣例1:
1 1 2 3 5 8 13
輸入樣例2:
0
輸出樣例2:
Invalid.
1 #include<stdio.h> 2 int main() 3 { 4 int i, n; 5 int a[50] = { 1,1 }; 6 scanf("%d", &n); 7 if (n >= 1 && n <= 46) 8 { 9 for (i = 2; i < n; i++) 10 a[i] = a[i - 1] + a[i - 2];//先遍歷一遍46個斐波那契數到數組 11 for (i = 0; i < n; i++) 12 { 13 printf("%11d", a[i]); 14 if ((i + 1) % 5 == 0)//i從0開始 所以加一除以5 15 printf("\n"); 16 } 17 } 18 else 19 printf("Invalid."); 20 21 return 0; 22 }