-1

ユーザーが値の範囲を入力して推測できるようにするプログラムのコードを完成させ、次に数値をランダムに生成し、ユーザーが推測して低すぎる、高すぎる、または正しいことを報告できるようにしました。プログラムをテスト実行すると、「高すぎます」という出力しか得られません。デバッグしてコードを調べてみましたが、どこが間違っているのかわかりません。どんな助けでも大歓迎です!

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int min, max, number, guess, count = 0;

    printf("Please enter two integers for the range:\n");
    scanf("%d %d", &min, &max);

    number = (min + rand()%(max - min + 1));
    printf("I'm thinking of a number between %d and %d.\n", min, max);

    printf("Enter your guess:\n");
    scanf("%d", &guess);

    while(guess != number)
    {

        if(guess < number)
        {
            count++;
            printf("Too low.\n");
            printf("Enter your guess:\n");
            scanf("%d", &guess);
        }

        else
        {
            count++;
            printf("Too high.\n");
            printf("Enter your guess:\n");
            scanf("%d", &guess);
        }
    }

        count++;
        printf("Correct, it took you %d tries to guess my number. ", count);

return 0;
}
4

2 に答える 2

1

おっと、乱数発生器を初期化していません!

プログラムの最初に追加srand(time(NULL))しないと、乱数は常に同じになります (ゼロになる可能性もあります)。

于 2013-10-13T05:14:31.157 に答える