簡體   English   中英

“猜我的號碼”游戲中顯示錯誤

[英]Error displaying in “Guess my number” game

我正在學習 C 編程,現在我正在嘗試編寫名為“猜我的號碼”的程序,其中玩家 1 將在一個范圍內選擇一個數字,然后玩家 2 將猜測該數字。 如果猜測次數超過 10 次,則玩家 1 獲勝。 但是,代碼程序在 10 次嘗試后中斷,並且不顯示“玩家 1 獲勝”。 任何人都可以幫助我嗎? 謝謝。

#include <stdio.h>
#include <stdbool.h>
#define boolean

int main()
{

    int enternumber = -1;
    int count = 0;
    int maxguesses = 10;
    int guessing;
    int i;
    bool currentguesses = false;


    while (1) {
        count += 1;
        printf("Player 1, enter a number between 1 and 1000\n");
        scanf("%d", &enternumber);

        if (enternumber > 1000) {
            printf("That number is out of range\n");
        }

        else {
            printf("That number is in the range\n");
            break;
        }
    }

    printf("Player 2, you have %d tries remaining\n", maxguesses);

    for (i = 0; i < maxguesses; i++) {
        printf("Enter your guess\n");
        scanf("%d", &guessing);

        if (enternumber == guessing) {
            printf("Player 2 wins.\n");
            break;
        }
        else {
            printf("Too %s.\n", enternumber < guessing ? "high" : "low");
        }
    }
    return 0;

    if (count == maxguesses) {
        printf("Player 1 wins");
    }
}

您應該在檢查 count == maxguesses 之后放置 return 0 語句。

#include <stdio.h>
#include <stdbool.h>
#define boolean

int main()
{

    int enternumber = -1;
    int count = 0;
    int maxguesses = 10;
    int guessing;
    int i;
    bool currentguesses = false;


    while (1) {
        count += 1;
        printf("Player 1, enter a number between 1 and 1000\n");
        scanf("%d", &enternumber);

        if (enternumber > 1000) {
            printf("That number is out of range\n");
        }

        else {
            printf("That number is in the range\n");
            break;
        }
    }

    printf("Player 2, you have %d tries remaining\n", maxguesses);

    for (i = 0; i < maxguesses; i++) {
        printf("Enter your guess\n");
        scanf("%d", &guessing);

        if (enternumber == guessing) {
            printf("Player 2 wins.\n");
            break;
        }
        else {
            printf("Too %s.\n", enternumber < guessing ? "high" : "low");
        }
    }


    if (count == maxguesses) {
        printf("Player 1 wins");
    }
    return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM