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

@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 に答える
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 に答える