【发布时间】:2017-10-09 23:13:53
【问题描述】:
所以我正在努力让这件作品输出具有 4 个值的中值。 输出产生的值比实际中间值高一个,即使我将 2 更改为 2.0,我似乎也无法让它输出小数。我可以让它输出一个包含 3 个数字的值,只是用 4 个数字还没有实现。
Console.Write("Median Value: ");
var items = new[]{num1, num2, num3, num4 };
Array.Sort(items);
Console.WriteLine(items[items.Length/2]);
这项工作是我的计算课程中的一项扩展任务,因此我可能对这项任务采取了完全错误的方法。 提前致谢
【问题讨论】:
-
用数字做一个简单的例子。数组
{1, 2}的中位数是多少? -
var mediaValue = 0.0; var items = new[] { 1, 2, 3, 4,5 }; var itemsSum = items.Sum(); var getLengthItems = items.Length; if (getLengthItems % 2 == 0) { var firstValue = items[(items.Length / 2) - 1]; var secondValue = items[(items.Length / 2)]; mediaValue = (firstValue + secondValue) / 2.0; } if (getLengthItems % 2 == 1) { mediaValue = items[(items.Length / 2)]; } Console.WriteLine(mediaValue); Console.WriteLine("输入退出!"); Console.ReadKey();