基本制御文(反復構造: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;
}

<実行結果 VC++ Express Edition>

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;
}

<実行結果 VC++ Express Edition>

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;
}

<実行結果 VC++ Express Edition>

数値を入力してください: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;
}

<実行結果 VC++ Express Edition>

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

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

最後に<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;
}

<実行結果 VC++ Express Edition>

       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文で作ってみましょう。

次回は、for文の苦手なこと、を書きます。


次へ

戻る

目次へ