从数组中查找最大值,c# 中的运行时错误是什么?



给定N个数字,找到最高值的那个并打印出来。
输入
输入
的第一行将包含 N(0<1000><100(。>
以下行将包含 N 个整数,每个整数介于 11 和 10001000 之间。

输出
打印最大值。


my ans是:

class program
{
static void Main(string[] args)
{
int N = Convert.ToInt32(Console.ReadLine());
int[] Numbers = new int[N];
int Le = 0;

for (int i = 0; i < N; i++)
{
Numbers[i] = Convert.ToInt32(Console.ReadLine());

}
//int m = 0;
for (int i = 0; i < N; i++)
{
Array.Sort(Numbers);

}
Console.WriteLine(Numbers[Numbers.Length-1]);

}
}

}

但它向我展示了运行时错误。

谁能告诉我代码的正确和什么是运行时错误?

你只需要这样做:

int m = Numbers[0];
for (int i = 1; i < N; i++)
{
m = Numbers[i] > m ? Numbers[i] : m;
}
Console.WriteLine(m);

或者这个:

int m = Numbers[0];
for (int i = 1; i < N; i++)
{
int n = Numbers[i];
if (n > m)
m = n;
}
Console.WriteLine(m);

无需排序。

但是,您的代码运行良好,对我来说没有错误。

最新更新