C言語のきほん「数当てゲーム(do文)」

スポンサーリンク
C言語

先回は、if文を使った「数当てゲーム」のプログラムをご紹介した。

しかし、このプログラムでは、プレイヤーの数値入力が1回に限られているので、正解するまで何回もプログラムを起動しなくてはならない。

そこで、正解するまで繰り返し入力できるように改良しよう。

なお、本プログラムは、
 Windows 11 Home(23H2)上で、  Visual Studio Code(1.92.2)を使用して作成し、gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0で  コンパイルしている。

//数当てゲーム(第2版:do文)

#include <stdio.h>

int main(void)
{
    int no;       //読み込んだ値
    int ans = 8;    //正解

    printf("0から9までの整数を当ててください!\n");

    do
    {
       printf("いくつでしょうか:");
       scanf("%d",&no);

       if (no > ans)
        printf("もっと小さいです。\n");
       else if (no < ans) 
        printf("もっと大きいです。\n");

    } while (no != ans);

    printf("正解です\n");

    return 0;
    
}

実行結果

0から9までの整数を当ててください!
いくつでしょうか:6
もっと大きいです。
いくつでしょうか:9
もっと小さいです。
いくつでしょうか:8
正解です

do文は、後判定繰返しによって処理を繰り返す。

do文
do 文 while (式);

doとwhileに囲まれた文はループ本体と呼ばれる。
( )内に置かれた式である制御式を評価した値が0でない限り、ループ本体は何度も繰り返し実行される。繰り返しが終了するのは、制御式を評価した値が0になったときである。

参考)新・明解C言語 中級編 柴田 望洋(著)

コメント

タイトルとURLをコピーしました