[英]Get highest number from inputs
我需要一個程序,可以在其中鍵入數字,最后它給出的是最高的數字。 為什么它不能那樣工作? 我需要更改什么?
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();
}
}
您需要對其進行轉換,以便將其轉換為兩倍,並設置為每個單獨的元素
input[i] = Convert.ToDouble(Console.ReadLine());
然后更改它,因為錯誤開始於0
for (int i = 0; i <= 11; i++)
正如@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();
}
}
正如@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);
是否要求使用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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.