有人可以告诉我我做错了什么,因为我似乎无法找到我搞砸的地方。 Visual Studio突出显示了我的if语句,因此我假设问题出在哪里。
using System;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Console.Write("First number: ");
int num1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Second number: ");
int num2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Third number: ");
int num3 = Convert.ToInt32(Console.ReadLine());
if (num1 > num2 && num3)
{
Console.WriteLine("The greatest number is {0}", num1);
Console.ReadLine();
}
else if (num2 > num1 && num3)
{
Console.WriteLine("The greatest number is {0}", num2);
Console.ReadLine();
}
else if (num3 > num1 && num2)
{
Console.WriteLine("The greatest number is {0}", num3);
Console.ReadLine();
}
else
{
Console.WriteLine("The number are equal");
Console.ReadLine();
}
}
}
}
答案 0 :(得分:1)
您正在使用&&操作员错误。它是二元逻辑AND运算符,如果它的参数都计算为true,则返回true。
而不是(num1 > num2 && num3)
,你必须写(num1 > num2 && num1 > num3)
(等等)。
答案 1 :(得分:0)
if (num1 > num2 && num3)
这不会将第一个数字与其他两个数字进行比较。
你想要
if (num1 > num2 && num1> num3)
如果有可能存在重复,你应该使用> =
在您的代码中,2,2,1将返回"数字相等"
答案 2 :(得分:0)
答案 3 :(得分:0)