首页 新闻 搜索 专区 学院

编写C#程序,计算去除最大值和最小值之后的平均值

0
[待解决问题]

有10位评委对跳水运动员做评分,编写C#程序,计算去除最大得分和最小得分之后的平均得分 作为运动员的跳水成绩。

天成TencentLee的主页 天成TencentLee | 菜鸟二级 | 园豆:202
提问于:2017-07-12 15:36
< >
分享
所有回答(3)
0

首先将这些数进行排序,然后计算去除最大最小数后的和,最后在平均一下。

心怀宇宙 | 园豆:637 (小虾三级) | 2017-07-12 16:02
0

可以使用冒泡排序进行排序,然后去掉最大值和最小值,在统计平均值

Ant晨曦 | 园豆:224 (菜鸟二级) | 2017-07-12 16:05
0
class Program
    {
        static void Main(string[] args)
        {
            List<double> scores = new List<double>();
            var scoreRandom = new Random();
            for (int i = 0; i < 10; i++)
            {
                scores.Add(Math.Round(scoreRandom.NextDouble() * 10, 1));
            }
            Console.WriteLine(scores.Aggregate("Scores:", (x, y) => x.Equals("Scores:") ? $"{x}{y}" : $"{x}, {y}"));
            scores.Sort(Comparer<Double>.Default);
            Console.WriteLine(scores.Aggregate("Orderd:", (x, y) => x.Equals("Orderd:") ? $"{x}{y}" : $"{x}, {y}"));
            Console.WriteLine("Remove minimum:{0}", scores.First());
            //去掉一个最低分
            scores.RemoveAt(0);
            Console.WriteLine("Remove maximum:{0}", scores.Last());
            //去掉一个最高分
            scores.RemoveAt(scores.Count - 1);
            var avg = Math.Round(scores.Average(), 1);
            Console.WriteLine("Final Score:{0}", avg);
            Console.Read();
        }
    }
Hoze | 园豆:196 (初学一级) | 2017-07-13 09:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册