c - 无法验证 C 编程中的输入
问题描述
我刚开始学习C,我正在尝试创建一个简单的“猜数字”游戏。
- 玩家 1 将输入一个介于 1 和 1000 之间的数字。
- 玩家 2 将有 10 次机会猜测玩家 1 输入的数字。
- 如果玩家 2 的猜测超出范围(1 到 1000),系统应显示“无效。超出范围”。而不是“太高”或“太低”。
目前,我的程序不验证玩家 2 的猜测是否在范围内(1 到 1000)。相反,即使玩家 2 的猜测是 2000 超出范围(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;
}
解决方案
guess >= 1 || guess <= 1000
应该guess >= 1 && guess <= 1000
推荐阅读
- javascript - optionHTML 和 innerHTML 覆盖 `
- intellij-idea - 如何在整个文档中使用制表符缩进(PhpStorm)
- text - 我可以删除多 txt 文件中的换行符(回车)吗?
- c# - 将文件移动到子文件夹(每个子文件夹中有 n 个文件)
- python-3.x - 如何通过互联网(使用IP地址的分布式计算)将python ray用于独立计算机(每台计算机都有其用户名和密码)?
- sql - 如何根据日期字段查找客户第一个订单和后续订单的平均成本差异?
- javascript - 部署站点时,我无权访问 navigator.mediaDevices。我该如何解决?
- c# - LINQ、INNER JOIN(加入或 GroupJoin)?
- python - '\' '.\' 和 '\.' 是什么意思 在 SQL Alchemy 的上下文中是什么意思?
- javascript - 从 React 到 .NET Core Web API 进行 POST 时如何修复 CORS 错误?