无法在C编程中验证输入

无法在C编程中验证输入,c,C,我刚开始学习C,我正在尝试创建一个简单的“猜数字”游戏 玩家1将输入一个介于1和1000之间的数字 玩家2将有10次机会猜测玩家1输入的数字 如果玩家2的猜测超出范围(1到1000),系统应显示“无效。超出范围”。而不是“过高”或“过低” 目前,我的程序无法验证玩家2的猜测是否在范围内(1到1000)。相反,即使玩家2的猜测超出范围(1到1000),它也会显示“太高” 这是我的密码: #include <stdio.h> int main() { int number,

我刚开始学习C,我正在尝试创建一个简单的“猜数字”游戏

  • 玩家1将输入一个介于1和1000之间的数字
  • 玩家2将有10次机会猜测玩家1输入的数字
  • 如果玩家2的猜测超出范围(1到1000),系统应显示“无效。超出范围”。而不是“过高”或“过低”
目前,我的程序无法验证玩家2的猜测是否在范围内(1到1000)。相反,即使玩家2的猜测超出范围(1到1000),它也会显示“太高”

这是我的密码:

#include <stdio.h>

int main()
{
    int number, guess, count = 10;

    printf("Enter a number between 1 and 1000:\n");

    scanf("%d",&number);

    while(number < 1 || number > 1000)
    {
        printf("Number is out of range.\n");
        printf("Enter a number between 1 and 1000:\n");
        scanf("%d",&number);
    }

    while(count >= 1 && count <= 10)
    {
        printf("Player 2, you have %d guesses remaining.\n", count);
        printf("Enter your guess:\n");
        scanf("%d", &guess);
        count = count - 1;

        if (guess >= 1 || guess <= 1000)
        {
            if (guess > number)
            {
                printf("Too high.\n");
            }
            else if (guess < number)
            {
                printf("Too low.\n");
            }
            else if (guess == number)
            {
                printf("Player 2 wins.\n");
            }
        }
        else
        {
            printf("Invalid. Out of range.");
        }
    }

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

    return 0;
}
#包括
int main()
{
整数,猜测,计数=10;
printf(“输入一个介于1和1000之间的数字:\n”);
scanf(“%d”和编号);
而(数量<1 | |数量>1000)
{
printf(“数字超出范围。\n”);
printf(“输入一个介于1和1000之间的数字:\n”);
scanf(“%d”和编号);
}
而(计数>=1&&count=1 | |猜测数)
{
printf(“太高。\n”);
}
else if(猜测<数字)
{
printf(“过低。\n”);
}
else if(猜测==数字)
{
printf(“玩家2获胜。\n”);
}
}
其他的
{
printf(“无效。超出范围”);
}
}
如果(计数=0)
{
printf(“玩家1获胜”);
}
返回0;
}
guess>=1 | | guess=1&&guess您需要更改

 if (guess >= 1 || guess <= 1000)

if(guess>=1 | | guess=1&&guess=1
,根据短路特性,它将对
if
条件进行真实评估,控制将永远不会转到
else
块。

if(猜>=1 | |猜当玩家2获胜时你也不会停下来。@canbax技术上,我们两人同时发布,
2020-11-02 14:54:00Z
。不。当我写答案时。我看到你的答案晚了1秒。在第一分钟,它写得像35秒前和36秒前。你的答案晚了1秒。
if (guess >= 1 && guess <= 1000)