Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

【C言語】アルファベットの三角形パターンを出力するプログラムの作り方


整数 n が与えられたとき、長さ n のアルファベットで構成される三角形パターンを出力するのが本記事のテーマです。最初の行には n 文字すべてを出力し、以降の行では先頭の文字から順に1文字ずつ減らしながら表示していきます。

完成したアルファベットの三角形パターンは、下図のようになります。

【C言語】アルファベットの三角形パターンを出力するプログラムの作り方

入出力例

入力:n = 5 の場合

【C言語】アルファベットの三角形パターンを出力するプログラムの作り方

入力:n = 3 の場合

【C言語】アルファベットの三角形パターンを出力するプログラムの作り方

解き方のアプローチ

  • n を入力として受け取り、変数 i を 1 から n までループさせます。
  • 各 i に対して、変数 j を i から n までループさせ、'A' - 1 + j で計算した文字を順番に出力します。

外側のループが行の位置を、内側のループがその行に出力する文字をそれぞれ制御しています。例えば n = 5 の場合、1 行目は「ABCDE」の 5 文字、2 行目は「BCDE」の 4 文字というように、行が進むごとに先頭の文字が 1 つずつ後ろへずれていくのがこのパターンのポイントです。

アルゴリズム

開始
関数 int pattern( int n )
 ステップ1 → 変数 i, j を宣言
 ステップ2 → i = 1、i <= n、i++ の条件でループ
  j = i、j <= n、j++ の条件でループ
   'A' - 1 + j を出力
  改行を出力
関数 int main()
 ステップ1 → n = 5 を宣言・初期化
 ステップ2 → pattern(n) を呼び出す
終了

C言語での実装例

#include <stdio.h>
int pattern(int n){
    int i, j;
    for (i = 1; i <= n; i++) {
        for (j = i; j <= n; j++) {
            printf("%c", 'A' - 1 + j);
        }
        printf("\n");
    }
    return 0;
}
int main(){
    int n = 5;
    pattern(n);
    return 0;
}

実行結果

上記のコードをコンパイルして実行すると、次のような出力が得られます。

【C言語】アルファベットの三角形パターンを出力するプログラムの作り方

  1. C言語で作る!キラキラ点滅するクリスマスツリー表示プログラム

    今回は少しユニークなプログラミング課題を紹介します。C言語を使って、クリスマスツリーをランダムに表示する方法です。完成したツリーは、本物のクリスマスイルミネーションのようにキラキラと点滅して見えます。 クリスマスツリーの表示の仕組み クリスマスツリーを描くには、大きさの異なる三角形(ピラミッド)をいくつも縦に積み重ねて出力します。装飾的な葉っぱの部分には、あらかじめ用意した文字リスト(.・*・+・o・O)の中からランダムに1文字を選んで表示します。 ツリーの高さやランダム性の度合いは、ソースコード冒頭のマクロ定数を書き換えるだけで自由に調整できます。 点滅が実現される仕組み このプログラムのポ

  2. マッチ棒ピラミッドに必要な本数を求めるPythonプログラム

    この記事では、以下の問題文に対する解決策について学んでいきます。 問題文 ある整数 X が与えられます。X はマッチ棒で作るピラミッドの段数を表しています。X 段のマッチ棒ピラミッドを完成させるために必要な、マッチ棒の総本数を求めて表示してください。 考え方 マッチ棒で正三角形を組み上げていく場合、1辺に n 本のマッチ棒を使用するとき、必要なマッチ棒の総数は「3 × n × (n + 1) ÷ 2」で表されます。この公式を利用することで、x 段のピラミッド全体に必要なマッチ棒の総本数を簡単に計算することができます。 実装例 # 関数の定義 def numberOfSticks(x):