C言語でアロースターパターン(矢印型)を出力するプログラムの作り方
整数 n が与えられたとき、最大 n 個の星(アスタリスク)で構成される矢印型のパターンを出力するCプログラムを紹介します。星形パターンの出力は、二重ループ(ネストしたforループ)の理解を深めるのに最適な練習問題です。
たとえば、入力が 4 の場合、出力は次のような矢印の形になります。

出力例
Input: 3 Output:

Input: 5 Output:

アプローチ
このパターンを出力するための基本的な考え方は以下の通りです。
- 整数値を入力として受け取ります。
- まず、n 個のスペースと n 個の星を出力します。
- n > 1 となる間、行ごとに星の数を減らしながら出力します。
- 次に、n に達するまで星の数を増やしながら出力します。
- スペースと星を増加順に出力し、矢印の下側を完成させます。
アルゴリズム
Start
In function int arrow(int num)
Step 1-> declare and initialize i, j
Step 2-> Loop For i = 1 and i <= num and i++
Loop For j = i and j < num and j++
Print a space
Loop For j = i and j <= num and j++
Print "*"
Print newline
Step 3-> Loop For i = 2 and i <= num and i++
Loop For j = 1 and j < i and j++
Print a space
Loop For j = 1 and j <= i and j++
Print "*"
Print newline
In function int main()
Step 1-> declare and initialize num = 4
Step 2-> call arrow(num)サンプルコード
#include <stdio.h>
// 矢印パターンを出力する関数
int arrow(int num) {
int i, j;
// 矢印の上半分を出力
for (i = 1; i <= num; i++) {
// スペースを出力
for (j = i; j < num; j++) {
printf(" ");
}
// パターンの * を出力
for (j = i; j <= num; j++) {
printf("*");
}
printf("\n");
}
// 矢印の下半分を出力
for (i = 2; i <= num; i++) {
// スペースを出力
for (j = 1; j < i; j++) {
printf(" ");
}
// パターンの * を出力
for (j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
int main() {
// 入力値を設定
int num = 4;
// 関数を呼び出し
arrow(num);
return 0;
}コードの解説
このプログラムは、大きく2つの部分に分かれています。
上半分(星が減っていく部分)
外側のループが 1 から num まで回るたびに、内側のループで「(num − i) 個のスペース」と「i 行目以降の星」を出力します。これにより、右側に寄りながら星の数が減っていく形状が作られます。
下半分(星が増えていく部分)
i を 2 から num まで増やしながら、「(i − 1) 個のスペース」と「i 個の星」を出力します。これで矢印の軸部分が下方向へ伸びていきます。
実行結果
上記のコードをコンパイルして実行すると、次のような出力が得られます。

-
【C言語】六角形パターンを出力するプログラムの作成方法
本記事では、整数「n」が与えられたとき、その値をもとにアスタリスク(*)で構成された六角形パターンを生成し、画面に出力するC言語プログラムを解説します。ループと条件分岐を組み合わせることで、きれいな六角形の図形をテキストベースで描くことができます。 実行例 入力:n = 5 の場合の出力は以下のようになります。 入力:n = 4 の場合の出力は以下のようになります。 プログラムの基本的なアプローチ このプログラムでは、六角形パターンを以下の手順で作成しています。 ユーザーから整数「n」を入力として受け取ります。 パターン全体を「上部」「中央部」「下部」の3つの部分に分割して考えます。
-
【初心者向け】平行四辺形の外周(周長)を計算するC言語プログラム
本記事では、2つの辺の長さが与えられた平行四辺形の外周(周囲の長さ)を計算し、その結果を表示するC言語プログラムを紹介します。数式の考え方からアルゴリズム、実際のコードまで順を追って解説していきます。 平行四辺形とは? 平行四辺形とは、次のような性質を持つ四角形の一種です。 向かい合う2組の辺がそれぞれ平行である 向かい合う角の大きさが互いに等しい 2本の対角線が互いの中点で交わる 下の図では、「a」と「b」が平行四辺形の隣り合う2つの辺の長さを表しています。 平行四辺形の外周の求め方 平行四辺形の外周(周長)は、次の式で定義されます。 外周 = 2 × (a + b) = 2 ×