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();
    
            }
        }
    }
  • 相关阅读:
    大话设计模式(二)代理模式 工厂方法模式 原型模式 模板方法模式 迪米特法模式 外观模式
    大话设计模式(一)简单工厂模式 策略模式 单一职责原则 开放-封闭原则 依赖倒置原则 装饰模式
    eclipse为hibernate.cfg.xml添加自动提示【转】
    Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode
    Chrome 浏览器提示adobe flash player不是最新版本
    spring mvc <mvc:default-servlet-handler /> 。
    S2SH CRUD 整合
    Ms sql行转列。汇总
    Hibernate中的数据库方言(Dialect)
    SSH整合(1)异常
  • 原文地址:https://www.cnblogs.com/tcli/p/7155840.html
Copyright © 2011-2022 走看看