我需要输入3个数字,然后使用IF命令输出这3个数字中的最高和最低。我一切正常,除了我得到 1 个最大数字(正确)和 3 个最小数字输出(不正确)。现在我完全明白为什么它们都会被显示,我只是不知道如何解决它。一旦用户输入定义了整数,我的代码如下:
if (num1 > num2 && num1 > num3)
{
Console.WriteLine("Largest Number: " + num1);
}
if (num2 > num3)
{
Console.WriteLine("Smallest Number: " + num3);
}
else
{
Console.WriteLine("Smallest Number: " + num2);
}
然后复制3次,交换各自的整数。我明白问题是什么,第二个 if 命令对于所有 3 个场景都是正确的。我只是...不知道如何解决它。我觉得我只需要以某种方式将这两个 if 语句连接在一起,但我不确定如何做到这一点,或者是否可能。
最佳答案
您可以而且必须在许多实例上嵌套 block 。 这样,只有当第一个 if 被评估为 true 时,才会评估第二个 if。
if (num1 > num2 && num1 > num3)
{
Console.WriteLine("Largest Number: " + num1);
if (num2 > num3)
{
Console.WriteLine("Smallest Number: " + num3);
}
else
{
Console.WriteLine("Smallest Number: " + num2);
}
}
这只是为了回答您最直接的问题,即最小的数字显示多次。
您可能会遇到其他问题,例如,正如其他人提到的:如果两个数字相等怎么办?
关于c# - 基本的c# if语句查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38614560/