static void Main(string[] args) { ArrayList al = new ArrayList(); //定义一个集合Console.Write("请输入人数:"); int n = Convert.ToInt32(Console .ReadLine ()); for (int i = 0; i < n; i++) { Console.Write("请输入第"+(i+1)+"个学生的分数:"); al.Add (Convert .ToInt32(Console .ReadLine ())); // 存放数据类型并转换为int型 } al.Sort(); //对ArrayList或他的一部分元素进行排序 升序 此处从小到大al.Reverse(); // 翻转整个集合 翻转从大到小for (int k = 0; k < n; k++) { Console.WriteLine(al[k]); } //输出排出的顺序double h = 0; for (int j = 0; j < n; j++) { h += Convert.ToDouble(al[j]); // 此处根据下标取出元素并求出和 } double x =((h - Convert.ToDouble(al[0]) - Convert.ToDouble(al[n - 1])) / (n - 2)); //索引从0开始 所以最高分为al[0],最低分为al[n - 1]Console.WriteLine("总分为:"+h); Console.WriteLine("去掉最高和最低平均分为:"+x);Console.ReadLine();}