Excel有个函数  Median(B1:D3)C#的 Math 方法里似乎没有呢如何计算中间值呢比如: 312,最大值是3,最小值是1,中间值2
322,最大值是3,最小值是2,中间值2
323,最大值是3,最小是是2,中间值3

解决方案 »

  1.   

    这样行吗
    List<int> list = new List<int>();
    list.Add(3);
    list.Add(1);
    list.Add(2);list.Sort();int min = list[0];
    int max = list[list.Count - 1];
    int middle = list[list.Count / 2];
      

  2.   


    void Main()
    {
    test("312");
    test("322");
    test("323");
    }
    void test(string str)
    {
      var s=str.ToCharArray();
     
      Console.WriteLine("Max:{0}\tMin:{1}",s.Max(),s.Min());
       
    }
      

  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;
            }