【C言語】アスタリスク(*)で逆ピラミッドを作るプログラムの書き方

この記事では、C言語を使ってアスタリスク(*)を使った逆ピラミッドを作成する方法を解説します。

ループを使ったプログラムの実装方法や、具体的なコードの解説を通じて、初心者の方でも理解しやすく説明します。

さあ、一緒に逆ピラミッドを作ってみましょう!

目次から探す

ループを使った逆ピラミッドの作成方法

逆ピラミッドとは、アスタリスク(*)を使って下に向かって広がるピラミッドの形を作るプログラムです。

C言語では、ループを使って簡単に逆ピラミッドを作成することができます。

逆ピラミッドを作成するためには、以下の手順を実行します。

  1. ユーザーからピラミッドの段数を入力してもらいます。
  2. 外側のループを使って、ピラミッドの行数を制御します。
  3. 内側のループを使って、各行ごとにアスタリスクを出力します。

具体的なプログラムの実装方法については、次のセクションで詳しく解説します。

プログラムの実装

プログラムの全体構造の説明

逆ピラミッドを作成するためのC言語プログラムは、主に2つのループを使用します。

外側のループは行数を制御し、内側のループは各行に表示するアスタリスクの数を制御します。

まず、ユーザーから逆ピラミッドの高さを入力してもらいます。

次に、外側のループを使って行数を1から高さまで順番に増やしていきます。

内側のループでは、各行に表示するアスタリスクの数を制御します。

最初の行では、アスタリスクの数は高さと同じですが、次の行では1つ少なくなります。

このようにして、アスタリスクの数を1つずつ減らしていきます。

ループを使った逆ピラミッドの作成コードの解説

以下に、ループを使った逆ピラミッドを作成するC言語プログラムのコードを示します。

#include <stdio.h>
int main() {
    int height, i, j;
    printf("逆ピラミッドの高さを入力してください: ");
    scanf("%d", &height);
    for (i = 1; i <= height; i++) {
        for (j = 1; j <= i - 1; j++) {
            printf(" ");
        }
        for (j = 1; j <= 2 * (height - i) + 1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

このプログラムでは、まず変数heightを宣言し、ユーザーから逆ピラミッドの高さを入力してもらいます。

外側のループでは、変数i1からheightまで増やしていきます。

内側の最初のループでは、変数j1からi - 1まで増やしていき、空白を表示します。

次のループでは、変数j1から2 * (height - i) + 1まで増やしていき、アスタリスクを表示します。

最後に改行を出力して、次の行に移ります。

このプログラムを実行すると、入力した高さに応じた逆ピラミッドが表示されます。

例えば、高さが5の場合は以下のような逆ピラミッドが表示されます。

    *
   ***
  *****
 *******
*********

※ プログラムの実行結果は、高さが5の場合の例です。

入力する高さによって表示結果が変わります。

目次から探す