如何获取无限大量的用户输入并将其保存到数组中?

时间:2017-03-24 23:29:24

标签: c# console-application

我正在制作一个程序(在学校介绍计算机编程(不要担心,这是所有额外的学分,而不是要求作弊答案))这将采取用户决定的一组用户输入并保存所有这些数学(更具体地说,找到中位数,但我想弄明白自己)。我很确定我需要一个阵列才能做到这一点(甚至我的老师也暗示这是你需要做的)。

我的计划是有一个变量x来决定数组中单独数字的数量(不仅是数组中的数字,还有用于检查我想要运行循环的次数的数字对于数字),然后让用户输入许多用户输入的数字,然后能够获取这些数字并找到它们的中位数(我可能必须首先检查数字是偶数还是奇数,然后对数字进行排序(以某种方式),然后找到最中间的数字。)

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用List而不是使用具有固定大小的数组。 List允许您无限多地添加(直到它适合内存)元素。 因此,在for循环中,您可以读取用户输入并将其添加到列表中。 之后,您可以使用sort方法对整个列表进行排序,并返回中间元素,即中位数。

看起来像这样:

int n = //TODO: read number of user inputs
List<int> elems = new List<int> ();

for (int i = 0; i < n; i++) {
    int x = // get input
    elems.Add(x);
}

Console.WriteLine(elems[elems.Length / 2]);

答案 1 :(得分:0)

您可以查看List<T>here来存储号码。

有关阅读输入,请参阅Console.ReadLine

要将string转换为int,请查看int.TryParse

我给了你工具,现在开始编码了! :d