我需要一个程序,我可以输入数字,最后它给出了最高的数字。 为什么它不能那样工作?我需要改变什么?
public class Program
{
public static void Main()
{
double[] input = new double[12];
for (int i = 1; i <= 12; i++)
{
Console.Write(" Type in {0} number:", i);
input = [Convert.ToInt32(Console.ReadLine())];
}
Console.WriteLine("The highest number is {0}", input.Max(element => Math.Abs(element)));
Console.ReadKey();
}
}
答案 0 :(得分:0)
正如@Ashad Shanto所说,你必须使用Convert.ToDouble
并且必须使用input[i]
代替input
。所以你的代码应该是这样的:
public class Program
{
public static void Main()
{
double[] input = new double[12];
for (int i = 0; i < 12; i++)
{
Console.Write(" Type in {0} number:", i);
input[i] = [Convert.ToDouble(Console.ReadLine())];
}
Console.WriteLine("The highest number is {0}", input.Max(element => Math.Abs(element)));
Console.ReadKey();
}
}
答案 1 :(得分:0)
您需要将其转换为double并将其设置为每个单独的元素
input[i] = Convert.ToDouble(Console.ReadLine());
然后更改此项,因为arrray从0开始
for (int i = 0; i <= 11; i++)
答案 2 :(得分:0)
正如@artokai所说,你不需要存储所有输入的数字。
尝试以下方法:
double heighest = Double.MinValue;
for (int i = 0; i < 12; i++)
{
Console.Write(" Type in {0} number:", i);
double input = (Convert.ToDouble(Console.ReadLine());
if (input > heighest)
heighest = input
}
Console.WriteLine("The highest number is {0}", highest);
答案 3 :(得分:0)
是否需要Double或Int?无论如何,通过简单比较,每次输入新数字时,您只需简单地存储最高数字。
public static void Main()
{
var currentNumber = 0;
for (var i = 1; i <= 12; i++)
{
Console.Write(" Type in {0} number: ", i);
var number = Console.ReadLine();
int result;
if (int.TryParse(number, out result))
{
if (currentNumber < result)
{
currentNumber = result;
}
}
}
Console.WriteLine("The highest number is {0}", currentNumber);
Console.ReadKey();
}