从输入中获取最高数量

时间:2014-10-30 18:17:30

标签: c# arrays max highest console.readline

我需要一个程序,我可以输入数字,最后它给出了最高的数字。 为什么它不能那样工作?我需要改变什么?

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();
    }
}

4 个答案:

答案 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();
}