C# 从输入中获取最大数量
我需要一个程序,在那里我可以输入数字,最后它给了我最高的数字。 为什么不这样工作?我需要改变什么C# 从输入中获取最大数量,c#,arrays,max,highest,console.readline,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:",
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();
}
}
公共类程序
{
公共静态void Main()
{
双精度[]输入=新双精度[12];
对于(int i=1;i Math.Abs(element));
Console.ReadKey();
}
}
正如@Ashad Shanto所说的,你必须使用转换。ToDouble
,你必须使用输入[i]
而不是输入。因此,您的代码应该如下所示:
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();
}
}
公共类程序
{
公共静态void Main()
{
双精度[]输入=新双精度[12];
对于(int i=0;i<12;i++)
{
Write(“键入{0}号:”,i);
输入[i]=[Convert.ToDouble(Console.ReadLine())];
}
WriteLine(“最大的数字是{0}”,input.Max(element=>Math.Abs(element));
Console.ReadKey();
}
}
您需要将其转换为double,并对每个元素进行设置
input[i] = Convert.ToDouble(Console.ReadLine());
然后改变这个,因为arrray从0开始
for (int i = 0; i <= 11; i++)
for(int i=0;i正如@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 heighest=double.MinValue;
对于(int i=0;i<12;i++)
{
Write(“键入{0}号:”,i);
双输入=(Convert.ToDouble(Console.ReadLine());
如果(输入>高度)
heighest=输入
}
WriteLine(“最高的数字是{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();
}
publicstaticvoidmain()
{
var currentNumber=0;
对于(var i=1;i),您不需要存储所有输入的数据。只需存储到目前为止输入的最大数字,并且仅当用户输入更大的数字时才进行更新。我认为应该是输入[i]首先,您需要具体说明哪些部分不适合您。您发布的代码没有编译。但是您实际遇到的问题是什么?i没有必要将其转换为double而不是int,除非实际需要非整数输入。当然,在这种情况下,数组也不需要是double[]
而不是int[]
,因此谁真正知道OP实际需要什么。:)以上假设没有负输入。此外,转换之前的方括号不属于此项。还假设用户只会输入一个双精度值。当您第一次开始时,没有问题数组会让人感到困惑。