[C言語] for文を使って数列を表示する方法

C言語で数列を表示するには、for文を使用するのが一般的です。

for文は、初期化、条件判定、更新処理を一行で記述できるため、数列のような繰り返し処理に適しています。

例えば、1から10までの数を表示する場合、for文を使ってループを設定し、printf関数で各数値を出力します。

この方法を使うことで、簡潔かつ効率的に数列を表示することが可能です。

この記事でわかること
  • 等差数列、等比数列、フィボナッチ数列の定義と表示方法
  • for文を使った逆順数列の表示方法
  • 偶数のみ、奇数のみの数列を表示する方法
  • for文で無限ループを避ける方法
  • for文とwhile文の違いと使い分け

目次から探す

数列の種類と表示方法

数列は、特定の規則に従って並んだ数の集まりです。

C言語では、for文を使って様々な数列を表示することができます。

ここでは、等差数列、等比数列、フィボナッチ数列の3種類の数列について解説します。

等差数列の表示

等差数列の定義

等差数列は、隣り合う項の差が一定である数列です。

この差を「公差」と呼びます。

例えば、数列 2, 4, 6, 8, 10 は公差が2の等差数列です。

for文を使った等差数列の表示例

以下のコードは、初項が1で公差が3の等差数列を表示する例です。

#include <stdio.h>
int main() {
    int firstTerm = 1; // 初項
    int commonDifference = 3; // 公差
    int numberOfTerms = 10; // 表示する項数
    for (int i = 0; i < numberOfTerms; i++) {
        printf("%d ", firstTerm + i * commonDifference);
    }
    return 0;
}
1 4 7 10 13 16 19 22 25 28

このプログラムは、初項から始めて公差を加算しながら数列を表示します。

for文の中で、iを使って各項を計算しています。

等比数列の表示

等比数列の定義

等比数列は、隣り合う項の比が一定である数列です。

この比を「公比」と呼びます。

例えば、数列 3, 6, 12, 24 は公比が2の等比数列です。

for文を使った等比数列の表示例

以下のコードは、初項が2で公比が3の等比数列を表示する例です。

#include <stdio.h>
int main() {
    int firstTerm = 2; // 初項
    int commonRatio = 3; // 公比
    int numberOfTerms = 10; // 表示する項数
    int term = firstTerm;
    for (int i = 0; i < numberOfTerms; i++) {
        printf("%d ", term);
        term *= commonRatio;
    }
    return 0;
}
2 6 18 54 162 486 1458 4374 13122 39366

このプログラムは、初項から始めて公比を掛けながら数列を表示します。

for文の中で、termを使って各項を計算しています。

フィボナッチ数列の表示

フィボナッチ数列の定義

フィボナッチ数列は、最初の2つの項が1であり、それ以降の項は直前の2つの項の和である数列です。

数列は 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … と続きます。

for文を使ったフィボナッチ数列の表示例

以下のコードは、フィボナッチ数列を表示する例です。

#include <stdio.h>
int main() {
    int numberOfTerms = 10; // 表示する項数
    int firstTerm = 1, secondTerm = 1;
    int nextTerm;
    printf("%d %d ", firstTerm, secondTerm);
    for (int i = 2; i < numberOfTerms; i++) {
        nextTerm = firstTerm + secondTerm;
        printf("%d ", nextTerm);
        firstTerm = secondTerm;
        secondTerm = nextTerm;
    }
    return 0;
}
1 1 2 3 5 8 13 21 34 55

このプログラムは、最初の2つの項を表示し、その後の項を計算して表示します。

for文の中で、nextTermを使って次の項を計算し、firstTermsecondTermを更新しています。

応用例

for文を使った数列の表示は、基本的な数列だけでなく、様々な応用が可能です。

ここでは、逆順数列、偶数のみの数列、奇数のみの数列の表示方法について解説します。

逆順数列の表示

逆順数列の定義

逆順数列とは、通常の数列を逆の順序で表示したものです。

例えば、数列 1, 2, 3, 4, 5 を逆順にすると 5, 4, 3, 2, 1 になります。

for文を使った逆順数列の表示例

以下のコードは、1から10までの数列を逆順に表示する例です。

#include <stdio.h>
int main() {
    int start = 10; // 開始値
    int end = 1; // 終了値
    for (int i = start; i >= end; i--) {
        printf("%d ", i);
    }
    return 0;
}
10 9 8 7 6 5 4 3 2 1

このプログラムは、for文を使って開始値から終了値までを逆順に表示します。

i--を使ってカウントダウンしています。

偶数のみの数列表示

偶数数列の定義

偶数数列は、偶数のみで構成された数列です。

偶数は2で割り切れる整数です。

例えば、2, 4, 6, 8, 10 は偶数数列です。

for文を使った偶数数列の表示例

以下のコードは、1から20までの偶数を表示する例です。

#include <stdio.h>
int main() {
    int start = 2; // 開始値
    int end = 20; // 終了値
    for (int i = start; i <= end; i += 2) {
        printf("%d ", i);
    }
    return 0;
}
2 4 6 8 10 12 14 16 18 20

このプログラムは、for文を使って開始値から終了値までの偶数を表示します。

i += 2を使って偶数のみをカウントしています。

奇数のみの数列表示

奇数数列の定義

奇数数列は、奇数のみで構成された数列です。

奇数は2で割り切れない整数です。

例えば、1, 3, 5, 7, 9 は奇数数列です。

for文を使った奇数数列の表示例

以下のコードは、1から20までの奇数を表示する例です。

#include <stdio.h>
int main() {
    int start = 1; // 開始値
    int end = 19; // 終了値
    for (int i = start; i <= end; i += 2) {
        printf("%d ", i);
    }
    return 0;
}
1 3 5 7 9 11 13 15 17 19

このプログラムは、for文を使って開始値から終了値までの奇数を表示します。

i += 2を使って奇数のみをカウントしています。

よくある質問

for文で無限ループを避けるにはどうすればいいですか?

無限ループを避けるためには、for文の条件式が適切に設定されていることを確認する必要があります。

例えば、for (int i = 0; i < 10; i++)のように、ループの終了条件が明確であることが重要です。

条件式が常に真になるような設定を避け、ループ変数が適切に更新されるようにしましょう。

例:for (int i = 0; i < 10; i++)

数列の表示でエラーが出る場合の対処法は?

数列の表示でエラーが発生する場合、以下の点を確認してください。

  • 変数の初期化が正しく行われているか。
  • ループの条件式が正しいか。
  • 配列を使用している場合、インデックスが範囲外になっていないか。
  • 必要なライブラリがインクルードされているか。

例:#include <stdio.h>

for文とwhile文の違いは何ですか?

for文とwhile文はどちらもループを実行するための構文ですが、使い方に違いがあります。

for文は、初期化、条件式、更新式を一行でまとめて記述できるため、ループの回数が決まっている場合に適しています。

一方、while文は、条件式のみを記述し、ループの回数が不定の場合や条件に基づいてループを続ける場合に適しています。

例:while (condition)

まとめ

数列を表示するためのfor文の使い方を学ぶことで、C言語でのループ処理の基礎を理解できます。

等差数列、等比数列、フィボナッチ数列、逆順数列、偶数数列、奇数数列の表示方法を通じて、for文の応用力を高めることができました。

これを機に、他の数列やループ処理にも挑戦してみましょう。

  • URLをコピーしました!
目次から探す