【課題4−3】 提出課題(1) 指定行数分のパスカルの三角形を表示する関数を,空欄A〜Dを埋めて作成せよ.パスカルの三角形とは,両側がすべて1で,内側の数はその左上と右上の和である三角形である. #include #define MAX 10 「 A 」pascal_triangle(int n); int main(void) { int line; printf("Input number of lines: "); scanf("%d", &line); pascal_triangle(line); return 0; } // パスカルの三角形の表示 // 引数 n:行数; 返値 なし 「 B 」pascal_triangle(int n) { int i, j, k, l; int p[MAX]; if (n > MAX) return; for (i = 0; i < n; i++) { for (j = 0; j < n-i-1; j++) printf(" "); //左側のスペースを表示 「 C 」= 1; //右端に1と代入 for (k = i-1; k > 0; k--) //右端から左端に向かって... 「  D  」; //その左上と右上の和を配列に格納 for (l = 0; l <= i; l++) printf("%6d", p[l]); printf("¥n"); } } 【実行結果例】 Input number of lines: 5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 【解説とヒント】 パスカルの三角形は,2次元配列を用いる解法や漸化式を用いる解法などもあるが,このプログラムでは,1次元配列を用いて後ろから順に,配列の隣り合う要素を加算して代入している.