【C言語】*(アスタリスク)でピラミッドをwhile文で作る方法

この記事では、C言語を使用してピラミッドを作成する方法を解説します。

ピラミッドの作成手順や、具体的なコード例を通じて、初心者の方でも理解しやすく説明します。

目次から探す

ピラミッドの作成手順

ピラミッドを作成する流れを簡単に見てみましょう。

ピラミッドの高さを入力する

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

この高さは整数値で指定します。

ピラミッドの作成に必要な変数の宣言

ピラミッドの作成には、ループ処理や条件分岐に使用する変数が必要です。

以下の変数を宣言します。

  • height:ピラミッドの高さを格納する変数
  • row:現在の行数を格納する変数
  • column:現在の列数を格納する変数

ピラミッドの作成に必要なループ処理の設定

ピラミッドを作成するためには、行ごとにループ処理を行います。

ループの回数はピラミッドの高さによって決まります。

ピラミッドの作成に必要な条件分岐の設定

ピラミッドの各行には、アスタリスクの表示パターンが異なります。

条件分岐を使用して、各行ごとに適切なアスタリスクの表示パターンを設定します。

ピラミッドの作成に必要なアスタリスクの表示

ピラミッドの各行には、アスタリスクを適切な数だけ表示する必要があります。

アスタリスクの表示には、ループ処理と条件分岐を組み合わせて使用します。

以上がピラミッドの作成手順です。

次に、ピラミッドの作成例を紹介します。

※ピラミッドの高さは、ユーザーが入力することで任意の値に設定できるようにしてください。

ピラミッドの作成例

ピラミッドの高さが3の場合の作成例

以下のようなC言語のコードを使用して、ピラミッドの高さが3の場合の作成例を示します。

#include <stdio.h>
int main() {
    int height = 3; // ピラミッドの高さを設定
    int i, j, space;
    // ピラミッドの上半分を作成
    for (i = 1; i <= height; i++) {
        // スペースを表示
        for (space = 1; space <= height - i; space++) {
            printf(" ");
        }
        // アスタリスクを表示
        for (j = 1; j <= 2 * i - 1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

 *
 ***
*****

このコードでは、まずピラミッドの高さを変数heightに設定します。

その後、2つのforループを使用してピラミッドを作成します。

外側のループは行数を表し、内側のループはスペースとアスタリスクの表示を行います。

スペースの数はheight - iで計算し、アスタリスクの数は2 * i - 1で計算します。

ピラミッドの高さが5の場合の作成例

以下のようなC言語のコードを使用して、ピラミッドの高さが5の場合の作成例を示します。

#include <stdio.h>
int main() {
    int height = 5; // ピラミッドの高さを設定
    int i, j, space;
    // ピラミッドの上半分を作成
    for (i = 1; i <= height; i++) {
        // スペースを表示
        for (space = 1; space <= height - i; space++) {
            printf(" ");
        }
        // アスタリスクを表示
        for (j = 1; j <= 2 * i - 1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

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

このコードも先ほどの例と同様に、ピラミッドの高さを変数heightに設定し、2つのforループを使用してピラミッドを作成します。

ピラミッドの高さが任意の数値の場合の作成例

以下のようなC言語のコードを使用して、ピラミッドの高さが任意の数値の場合の作成例を示します。

#include <stdio.h>
int main() {
    int height; // ピラミッドの高さを入力するための変数
    printf("ピラミッドの高さを入力してください: ");
    scanf("%d", &height); // ピラミッドの高さを入力
    int i, j, space;
    // ピラミッドの上半分を作成
    for (i = 1; i <= height; i++) {
        // スペースを表示
        for (space = 1; space <= height - i; space++) {
            printf(" ");
        }
        // アスタリスクを表示
        for (j = 1; j <= 2 * i - 1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
ピラミッドの高さを入力してください: 4
   *
  ***
 *****
*******

このコードでは、ユーザーにピラミッドの高さを入力してもらうためにscanf関数を使用しています。

ユーザーが入力した値を変数heightに格納し、その値に基づいてピラミッドを作成します。

目次から探す