★基本制御文(反復構造:for3)★


それでは、これまでwhile文で書いたプログラムをfor文に書き換えてみましょう。

「初期値」「繰り返し条件」「増分」を念頭に置きながら考えてください。


まずは、<sample program 030-01>を書き換えてください。









































解答例です。


<sample program 057-01>

#include <stdio.h>

int main(void)
{
    int counter;

    for (counter = 0; counter < 10; counter++) {
        printf("%d\n", counter);
    }

    return 0;
}

<実行結果>

0
1
2
3
4
5
6
7
8
9
続行するには何かキーを押してください・・・

「初期値」「繰り返し条件」「増分」をfor文のどこに書けばよいか、が分かれば簡単です。

次は、<sample program 031-04>を書き換えましょう。









































解答例です。


<sample program 057-02>

#include <stdio.h>

int main(void)
{
    int counter;

    for (counter = 10; counter > 0; counter--) {
        printf("%d\n", counter);
    }

    return 0;
}

<実行結果>

10
9
8
7
6
5
4
3
2
1
続行するには何かキーを押してください・・・

では、次は少し飛びますが、<sample program 039-05>を書き換えてみましょう。









































解答例です。


<sample program 057-03>

#include <stdio.h>

int main(void)
{
    int counter;
    int sum;
    int input;
    
    sum = 0;

    for (counter = 0; counter < 5; counter++) {
        printf("数値を入力してください:");
        scanf("%d", &input);
        sum += input;
    }

    printf("合計は%dです。\n", sum);

    return 0;
}

<実行結果>

数値を入力してください:5
数値を入力してください:3
数値を入力してください:5
数値を入力してください:3
数値を入力してください:5
合計は21です。
続行するには何かキーを押してください・・・

このように、これまでwhile文で書いたプログラムをfor文に書き換えることは簡単にできます。

何度も書きますが、for文は「繰り返し回数が決まっている場合」非常に楽に書ける命令なのです。

続いて、二重ループの書き換えを行ってみましょう。

<sample program 052-02>をfor文に書き換えてください。









































解答例です。


<sample program 057-04>

#include <stdio.h>

int main(void)
{
    int i;
    int j;

    for (i = 0; i < 5; i++) {
        for (j = 0; j < 5; j++) {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

<実行結果>

*****
*****
*****
*****
*****
続行するには何かキーを押してください・・・

二重ループもすっきり書けます。

最後に<sample program 053-04>を書き換えましょう。









































解答例です。


<sample program 057-05>

#include <stdio.h>

int main(void)
{
    int i;
    int j;

    for (i = 2; i < 10; i++) {
        for (j = 2; j < 10; j++) {
            printf("%3d", i * j);
        }
        printf("\n");
    }

    return 0;
}

<実行結果>

  4  6  8 10 12 14 16 18
  6  9 12 15 18 21 24 27
  8 12 16 20 24 28 32 36
 10 15 20 25 30 35 40 45
 12 18 24 30 36 42 48 54
 14 21 28 35 42 49 56 63
 16 24 32 40 48 56 64 72
 18 27 36 45 54 63 72 81
続行するには何かキーを押してください・・・

この他にも、繰り返し回数が決まっているプログラムをfor文で作ってみましょう。


次へ

戻る

目次へ