[C言語] for文を使って数列を表示する方法
C言語で数列を表示するには、for文を使用するのが一般的です。
for文は、初期化、条件判定、更新処理を一行で記述できるため、数列のような繰り返し処理に適しています。
例えば、1から10までの数を表示する場合、for文を使ってループを設定し、printf関数で各数値を出力します。
この方法を使うことで、簡潔かつ効率的に数列を表示することが可能です。
数列の種類と表示方法
数列は、特定の規則に従って並んだ数の集まりです。
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を使って次の項を計算し、firstTermとsecondTermを更新しています。
応用例
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文の使い方を学ぶことで、C言語でのループ処理の基礎を理解できます。
等差数列、等比数列、フィボナッチ数列、逆順数列、偶数数列、奇数数列の表示方法を通じて、for文の応用力を高めることができました。
これを機に、他の数列やループ処理にも挑戦してみましょう。
 
![[C言語] while文を使って無限ループを作成する方法と注意点](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3463.png)
![[C言語] for文で複数の数値の合計値を求める書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3450.png)
![[C言語] for文のループをbreak文で抜ける方法を解説](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3448.png)
![[C言語] for文を2つ使って2重ループを作る方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3447.png)
![[C言語] do-while文で無限ループを作る方法と注意点](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3446.png)
![[C言語] do-while文を使って足し算して総和を求める方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3445.png)
![[C言語] do-while文の使い方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3444.png)
![[C言語] do-while文を使って入力の検証と再入力を行う方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3443.png)
![[C言語] do-while文とfor文の違いについて解説](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3441.png)
![[C言語] do-while文のループをbreak文で抜ける方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3440.png)
![[C言語] for文で配列の値の最大値を求める方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3451.png)
![[C言語] for文の条件式の書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3452.png)