我正在制作一个程序(在学校介绍计算机编程(不要担心,这是所有额外的学分,而不是要求作弊答案))这将采取用户决定的一组用户输入并保存所有这些数学(更具体地说,找到中位数,但我想弄明白自己)。我很确定我需要一个阵列才能做到这一点(甚至我的老师也暗示这是你需要做的)。
我的计划是有一个变量x来决定数组中单独数字的数量(不仅是数组中的数字,还有用于检查我想要运行循环的次数的数字对于数字),然后让用户输入许多用户输入的数字,然后能够获取这些数字并找到它们的中位数(我可能必须首先检查数字是偶数还是奇数,然后对数字进行排序(以某种方式),然后找到最中间的数字。)
谢谢!
答案 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