给定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);
无需排序。
但是,您的代码运行良好,对我来说没有错误。