C++ vector+deque综合练习
一、概述
案例:有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除评委中最高分,去除评委中最低分,取平均分。
二、示例图片
三、示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | #include <iostream> #include <vector> #include <string> #include <deque> #include <algorithm> #include <ctime> ///案例:有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除评委中最高分,去除评委中最低分,取平均分。 using namespace std; /** * 创建选手 * */ class Player{ public : Player(string name, int score){ this ->m_name = name; this ->m_score = score; } string m_name; int m_score; }; void createPlayer(vector<Player> &v){ string nameSeed = "ABCDE" ; for ( int i=0;i<5;i++){ string name = "player is: " ; name+=nameSeed[i]; int score = 0; //初始化选手 Player player(name,score); v.push_back(player); } } void setScore(vector<Player> &v){ for (vector<Player>::iterator it= v.begin();it!=v.end();it++){ deque< int > d; //存放评委打分的容器 for ( int i=0;i<10;i++){ int socre = rand ()%41+60; d.push_back(socre); } //排序 sort(d.begin(),d.end()); //去掉最低分和最高分 d.pop_back(); d.pop_front(); //总分 int sum = 0; for (deque< int >::iterator dit=d.begin();dit!=d.end();dit++){ sum +=*dit; } //平均分 int avg = sum/d.size(); it->m_score = avg; } } void showScore(vector<Player> &v){ for (vector<Player>::iterator it=v.begin();it!=v.end();it++){ cout << "name:" <<it->m_name << " avg:" << it->m_score<<endl; } } int main( int argc, char const *argv[]) { //设置随机种子 srand ((unsigned int ) time (NULL)); //创建5名选手 vector<Player> v; createPlayer(v); //打分 setScore(v); //平均分 showScore(v); return 0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探