【发布时间】:2019-07-26 20:39:38
【问题描述】:
我想要做的是得到我数字的每一半的中间。 所以我已经创建的是一种在此处获取数字中间值(数学中的中位数)的方法;
public static String Find_Median()
{
double Size = list.Count;
double Final_Number = 0;
if (Size % 2 == 0)
{
int HalfWay = list.Count / 2;
double Value1 = Convert.ToDouble(list[HalfWay - 1].ToString());
double Value2 = Convert.ToDouble(list[HalfWay - 1 + 1].ToString());
double Number = Value1 + Value2;
Final_Number = Number / 2;
}
else
{
int HalfWay = list.Count / 2;
double Value1 = Convert.ToDouble(list[HalfWay].ToString());
Final_Number = Value1;
}
return Convert.ToString(Final_Number);
}
这会得到列表中所有数字的确切中间数字,即使它到达中间它也会进行数学运算。 我想在双方都这样做;这是一个例子;
3 2 1 4 5 6
该列表的中间值(中位数)是 3.5。 我想用数学来找到 2,它位于等式的开始和中间。在 IQR 中也称为 Q1。我也想知道如何找到中位数(中间)和结尾之间的中间数,即 5。
I.E.所以我可以找到 70,80 和 90 的代码。
【问题讨论】:
-
4 3 2 1列表的答案应该是什么? -
list[list.Count/2],list[list.Count/4],list[3*list.Count/4],这就是你想要的吗? -
@SWeko 不知道如何从这么小的数字池中获得第一个和第三个,但在数学中,数字列表总是大于 4。
-
为什么不把这个列表分成另外两个列表并使用相同的方法呢?
list1 = list.Where(x => x < Final_Number),list2 = list.Where(x => x > Final_Number) -
我不确定如何正确地做到这一点,因此我需要一些帮助:3