BohYoh.comトップページへ

C言語によるアルゴリズムとデータ構造

戻る  

演習1-8の解答

   *
  ***
 *****
*******
 右図のように、n 段のピラミッドを表示する関数を作成せよ。
  void spira (int n );
i 行目に(i - 1) * 2 + 1個の*記号を表示し、第n 行目に(n - 1) * 2 + 1個の*記号を表示すること。

/* 演習1-8 *記号を並べてピラミッドを表示 */ #include <stdio.h> /*--- *記号を並べてピラミッドを表示 ---*/ void spira(int n) { int i, j; for (i = 1; i <= n; i++) { /* i行(i = 1, 2, … ,n) */ for (j = 1; j <= n-i+1; j++) /* n-i+1個の' 'を表示 */ putchar(' '); for (j = 1; j <= (i-1)*2+1; j++) /* (i-1)*2+1個の'*'を表示 */ putchar('*'); putchar('\n'); } } int main(void) { int x; printf("ピラミッドの高さ:"); scanf("%d", &x); spira(x); return (0); }


戻る