【发布时间】:2014-07-09 06:38:04
【问题描述】:
我正在开发一个系统来跟踪球员、他们的三个得分,然后找出获胜者。获胜者是在三个个人拍摄中得分最高的人。所以换句话说,分数不会相加,重要的是他们的最高分数。
例如,我刚刚在这里硬编码了值。数组的第一个索引号按名称的顺序排列。所以约翰得到了 42、38 和 43 分等等。
string[] player = {"John", "Jack", "Joe", "Jim", "Jacob"};
int[,] stats = {
{42, 38, 43},
{37, 36, 39},
{35, 40, 37},
{41, 44, 38},
{33, 34, 37}
};
现在我想创建一个函数来识别这三个尝试中哪个玩家得分最高,并按名称顺序显示三个最高得分(每人一个)。 所以标签中的输出最终会是这样的::
- 1.) 吉姆 - 44
- 2.) 约翰 - 42
- 3.) 乔 - 40
因此,正如我所见,问题出现了,必须检查每一行的最高值,然后可以创建一个新数组,同时仍然跟踪谁拥有分数,以正确打印它。 (我是新手。)有人知道如何实现这个结果吗?
【问题讨论】:
-
您似乎了解解决问题所需的步骤。你被困在哪里了?
-
多维数组很少是存储数据的好选择。对它们执行查询、聚合或转换的 API 支持并不多。您是否需要为此使用多维数组?
-
如果我们可以使用 List
和“播放器”对象来做到这一点,这将变得非常容易。这是一个可以接受的解决方案吗? -
我建议使用
for循环在 C# 中进行编程。然后,您可以继续使用更优雅的解决方案,例如 LINQ。尝试一下,当你遇到困难时向我们展示你的代码。
标签: c# arrays sorting multidimensional-array