0

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

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

4 回答 4

1

您需要将其转换为 double 并设置为每个单独的元素

 input[i] = Convert.ToDouble(Console.ReadLine());

然后更改它,因为数组从 0 开始

for (int i = 0; i <= 11; i++)
于 2014-10-30T18:25:05.713 回答
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();
}
于 2014-10-30T18:30:20.783 回答
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();
    }
}
于 2014-10-30T18:24:38.767 回答
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);
于 2014-10-30T18:25:58.843 回答