有10位评委对跳水运动员做评分,编写C#程序,计算去除最大得分和最小得分之后的平均得分 作为运动员的跳水成绩。
首先将这些数进行排序,然后计算去除最大最小数后的和,最后在平均一下。
可以使用冒泡排序进行排序,然后去掉最大值和最小值,在统计平均值
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(); } }