Угадайка в программировании на C

#c

#c

Вопрос:

Я построил игру в угадайку в программировании на C, используя цикл while, и у меня возникла проблема с ней во время выполнения. Итак, когда я печатаю число, меньшее, чем число угадывания, или большее, чем число угадывания, я получаю правильный ответ. Но когда пользователь вводит правильный ответ, на экране отображается утверждение для большего числа «Введенное вами число больше секретного числа». а затем под ним отображается правильное утверждение «Это секретное число». Я думаю, проблема может быть в том, что оператор else не определяет условие для большего числа, но я не уверен, как это решить. Кто-нибудь может мне помочь?

 #include <stdio.h>
#include <stdlib.h>
    
    int main()
    {
        //Guessing game
        const int SecretNum = 4;
        int guess;
        while (guess != SecretNum){
                printf("Enter a number: ");
                scanf("%d", amp;guess);
                if (guess < SecretNum){
            printf("The number you entered is less than the Secret Number. n");
                } else printf("The number you entered is greater than the Secret Number.n");
                }
          printf("This is the secret number.n");
    return 0;
    }
  

Комментарии:

1. Вы думаете, что проблема может быть в том, что оператор else не определяет условие для большего числа, поэтому попробуйте добавить это.

2. Также не забудьте инициализировать guess перед использованием его значения.

Ответ №1:

Вы думаете, что проблема может быть в том, что оператор else не определяет условие для большего числа, поэтому вы должны добавить это.

Также вы должны инициализировать guess перед использованием его значения.

Правильное форматирование вашего кода с использованием отступа — еще одна важная часть.

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

int main()
{
    //Guessing game
    const int SecretNum = 4;
    int guess = !SecretNum; /* initialize guess : guess will be different value from SecretNum using this */
    while (guess != SecretNum){
        printf("Enter a number: ");
        scanf("%d", amp;guess);
        if (guess < SecretNum){
            printf("The number you entered is less than the Secret Number. n");
        } else if (guess > SecretNum) /* add condition */
            printf("The number you entered is greater than the Secret Number.n");
    }
    printf("This is the secret number.n");
    return 0;
}