日期:2014-05-18  浏览次数:20749 次

如何计算 中间值 呢?
Excel有个函数 Median(B1:D3)

C#的 Math 方法里似乎没有呢

如何计算中间值呢

比如: 

312,最大值是3,最小值是1,中间值2
322,最大值是3,最小值是2,中间值2
323,最大值是3,最小是是2,中间值3

------解决方案--------------------
excel里MEDIAN是返回给定数值组的中位数。把一组数据按大小排序,如果总数个数是奇数的话,取中间的那个数作为中位数,如果总数个数是偶数个的话,取中间那两个数的平均数作为中位数.

private int GetMiddle(List<int> numArr)
{
int iMiddle = -1;
int iCount = numArr.Count;
int iIndex;

if (iCount == 0)
{
return iMiddle;
}

iIndex = iCount / 2;

numArr.Sort();

if (iCount % 2 == 0)
{
iMiddle = (numArr[iIndex] + numArr[iIndex - 1]) / 2;
}
else
{
iMiddle = numArr[iIndex];
}

return iMiddle;
}
------解决方案--------------------
哦,明白了,用sort()排序,然后选择第2个数值,这就是中间值,谢谢