zoukankan      html  css  js  c++  java
  • 编写C#程序,计算去除最大值和最小值之后的平均值

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

    interface IMark

    using System.Collections.Generic;
    
    namespace ConsoleApp1
    {
        /// <summary>
        /// 评分接口
        /// </summary>
        interface IMark
        {
    
            Mark GetMaxScore(List<Mark> list_Marks);
    
            Mark GetMinScore(List<Mark> list_Marks);
    
            /// <summary>
            /// 获取所有评分
            /// </summary>
            /// <returns></returns>
            List<Mark> GetAllMarks(int athleteId);
    
            /// <summary>
            /// 获取除最大得分和最小得分之后的平均得分
            /// </summary>
            /// <returns></returns>
            float GetAvgScoreExceptFirstAndLast();
        }
    }

    class Mark

    namespace ConsoleApp1
    {
        /// <summary>
        /// 评分实体
        /// </summary>
        public class Mark
        {
            public int Id;
            public int JuryId;
            public int AthleteId;
            public float Score;
        }
    }

    class MarkService

    using System.Collections.Generic;
    using System.Linq;
    
    namespace ConsoleApp1
    {
        /// <summary>
        /// 实现评分接口
        /// </summary>
        public class MarkService : IMark
        {  
            public MarkService()
            { 
            }
    
            /// <summary>
            /// 获取所有评分
            /// </summary>
            /// <param name="athleteId"></param>
            /// <returns></returns>
            public List<Mark> GetAllMarks(int athleteId)
            {
                List<Mark> list = new List<Mark>();
                for (int i = 1; i < 11; i++) {
                    list.Add(new Mark()
                    {
                        Id = i,
                        JuryId = i,
                        AthleteId = 1,
                        Score = i,                    
                    });
                }
                return list.Where(x=>x.AthleteId ==athleteId).ToList();
            } 
    
            /// <summary>
            /// 获取除最小分数、最大分数之外的平均得分
            /// </summary>
            /// <returns></returns>
            public float GetAvgScoreExceptFirstAndLast()
            {
                List<Mark> List_Marks = this.GetAllMarks(1);
                return List_Marks.Where(
                    x => x.Id != this.GetMaxScore(List_Marks).Id &&
                        x.Id != this.GetMinScore(List_Marks).Id).Average(y=>y.Score); 
            }
    
            /// <summary>
            /// 获取最大得分
            /// </summary>
            /// <param name="list_Marks"></param>
            /// <returns></returns>
            public Mark GetMaxScore(List<Mark> list_Marks)
            {
                float maxScore = list_Marks.Max<Mark>(x => x.Score);
                return list_Marks.Where(x => x.Score == maxScore).FirstOrDefault();
            }
    
            /// <summary>
            /// 获取最小得分
            /// </summary>
            /// <param name="list_Marks"></param>
            /// <returns></returns>
            public Mark GetMinScore(List<Mark> list_Marks)
            {
                float minScore = list_Marks.Min<Mark>(x => x.Score);
                return list_Marks.Where(x => x.Score == minScore).FirstOrDefault(); 
            }
    
            
        }
    }

    class Program

    using System;
    using System.Text; 
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                IMark t = new Test();
                Console.WriteLine(t.GetAvgScoreExceptFirstAndLast());
    
                Console.Read();
    
            }
        }
    }
  • 相关阅读:
    【读书笔记】《暗时间》刘未鹏
    HDU4389:X mod f(x)(数位DP)
    尴尬的三个星期
    解决一般图匹配的带花树算法
    【Linux常用工具】03. Linux性能测试工具ab
    hdu 1176 免费馅饼(nyist 613)
    删除系统更新后留下的文件夹
    zoj 1109 : Language of FatMouse
    设计模式之Inheritance versus Parameterized Types 继承和参数化类型
    hibernate的查询缓存和二级缓存的配合使用
  • 原文地址:https://www.cnblogs.com/tcli/p/7155840.html
Copyright © 2011-2022 走看看