学習

[C言語] アスタリスクを画面に表示する方法

C言語でアスタリスクを画面に表示するには、標準出力関数であるprintfを使用します。

例えば、printf("*");と記述することで、コンソールにアスタリスクが表示されます。

この方法は、他の文字や文字列を表示する場合と同様に、フォーマット指定子を使用せずに直接文字を指定することで実現できます。

また、ループを用いることで複数のアスタリスクを連続して表示することも可能です。

アスタリスクを使ったパターンの作成

C言語を使ってアスタリスクを画面に表示する方法は、基本的なプログラミングの練習として非常に有用です。

ここでは、アスタリスクを使ったさまざまなパターンの作成方法を紹介します。

直線的なアスタリスクの表示

直線的にアスタリスクを表示するのは、最も基本的なパターンです。

以下のサンプルコードでは、横に10個のアスタリスクを表示します。

#include <stdio.h>
int main() {
    // アスタリスクを10個表示する
    for (int i = 0; i < 10; i++) {
        printf("*");
    }
    printf("\n");
    return 0;
}
**********

このプログラムは、forループを使って10回繰り返し、printf関数でアスタリスクを表示しています。

矩形パターンの作成

次に、アスタリスクを使って矩形を作成します。

以下のコードは、5行×10列の矩形を表示します。

#include <stdio.h>
int main() {
    // 5行10列の矩形を表示する
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 10; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
**********
**********
**********
**********
**********

このプログラムでは、二重のforループを使用して、行と列を制御しています。

三角形パターンの作成

次に、アスタリスクを使って三角形を作成します。

以下のコードは、5段の右下がりの三角形を表示します。

#include <stdio.h>
int main() {
    // 右下がりの三角形を表示する
    for (int i = 1; i <= 5; i++) {
        for (int j = 0; j < i; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
*
**
***
****
*****

このプログラムでは、外側のforループが行を、内側のforループが各行のアスタリスクの数を制御しています。

ピラミッドパターンの作成

最後に、アスタリスクを使ってピラミッドを作成します。

以下のコードは、5段のピラミッドを表示します。

#include <stdio.h>
int main() {
    // ピラミッドを表示する
    int rows = 5;
    for (int i = 1; i <= rows; i++) {
        // スペースを表示する
        for (int j = 0; j < rows - i; j++) {
            printf(" ");
        }
        // アスタリスクを表示する
        for (int k = 0; k < 2 * i - 1; k++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
    *
   ***
  *****
 *******
*********

このプログラムでは、スペースとアスタリスクの数を調整することで、中央揃えのピラミッドを作成しています。

外側のforループが行を、内側のforループがスペースとアスタリスクの数を制御しています。

応用例

アスタリスクを使った基本的なパターンの作成方法を学んだら、次はそれを応用してより複雑で面白いプログラムを作成してみましょう。

ここでは、アスタリスクを使った文字アート、アニメーション、ゲームの作成方法を紹介します。

アスタリスクを使った文字アートの作成

アスタリスクを使って文字や図形を描くことができます。

以下のサンプルコードは、アスタリスクで C という文字を描きます。

#include <stdio.h>
int main() {
    // アスタリスクで `C` を描く
    printf("  *****\n");
    printf(" *\n");
    printf("*\n");
    printf("*\n");
    printf(" *\n");
    printf("  *****\n");
    return 0;
}
  *****
 *     
*      
*      
 *     
  *****

このプログラムは、printf関数を使って、アスタリスクを特定の位置に配置することで文字を描いています。

アスタリスクを使ったアニメーションの作成

アスタリスクを使って簡単なアニメーションを作成することもできます。

以下のコードは、アスタリスクが横に移動するアニメーションを表示します。

#include <stdio.h>
#include <unistd.h> // usleep関数を使用するために必要
int main() {
    // アスタリスクを横に移動させるアニメーション
    for (int i = 0; i < 10; i++) {
        printf("\r"); // カーソルを行の先頭に戻す
        for (int j = 0; j < i; j++) {
            printf(" ");
        }
        printf("*");
        fflush(stdout); // バッファをクリアして即座に出力
        usleep(200000); // 0.2秒待機
    }
    printf("\n");
    return 0;
}
* (アスタリスクが右に移動していく)

このプログラムでは、usleep関数を使って一定時間待機し、printf\rを使ってアスタリスクを移動させています。

アスタリスクを使ったゲームの作成

アスタリスクを使って簡単なゲームを作成することも可能です。

以下のコードは、ユーザーが入力した数だけアスタリスクを表示するゲームです。

#include <stdio.h>
int main() {
    int num;
    printf("アスタリスクの数を入力してください: ");
    scanf("%d", &num);
    // 入力された数だけアスタリスクを表示する
    for (int i = 0; i < num; i++) {
        printf("*");
    }
    printf("\n");
    return 0;
}
アスタリスクの数を入力してください: 5
*****

このプログラムは、ユーザーからの入力を受け取り、その数だけアスタリスクを表示します。

scanf関数を使ってユーザーの入力を取得し、forループでアスタリスクを表示しています。

まとめ

アスタリスクを使ったパターンの作成は、C言語の基本的なプログラミングスキルを磨く良い練習になります。

この記事では、直線的な表示から複雑なパターン、さらには応用例としてアニメーションやゲームの作成方法を紹介しました。

これらの知識を活用して、さらに創造的なプログラムを作成してみてください。

関連記事

Back to top button
目次へ