无法在C编程中验证输入
我刚开始学习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,
- 玩家1将输入一个介于1和1000之间的数字
- 玩家2将有10次机会猜测玩家1输入的数字
- 如果玩家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)