C++STL案例:评委打分

功能要求:

利用C++中的STL功能模拟10个评委为5位选手打分的过程。去掉一个最高分,去掉一个最低分,对剩下的数据取平均分即为该选手的最终得分。

本案例中将用随机数模拟评委打分,实际应用中可以修改为输入评委的分数。

代码实现:

自定义数据类型与相关头文件:

#include<iostream>
#include <string>
#include<deque>
#include<vector>
#include<algorithm>
#include<ctime>
using namespace std;class Person
{
public:Person(string name, int score){m_Name = name;m_Score = score;}string m_Name;int m_Score;
};
void createPerson(vector<Person>& v)
{string nameSeed = "ABCDE";for (int i = 0; i < 5; i++){string name = "Competitor:";name += nameSeed[i];Person p(name, 0);v.push_back(p);}
}

自定义功能函数:

void Scoring(vector<Person>& v)
{for (vector<Person>::iterator it = v.begin(); it != v.end(); it++){deque<int> d;for (int i = 0; i < 10; i++){//10个评委int score = rand() % 41 + 60;//60~100随机数d.push_back(score);}cout << it->m_Name << " " << "Scoring:" << endl;for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++){cout << *dit << " ";}cout << endl;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;}sum /= d.size();it->m_Score = sum;}
}
void Print(vector<Person>& v)
{for (vector<Person>::iterator it = v.begin(); it != v.end(); it++){cout << it->m_Name << " Average:" << it->m_Score << endl;}
}

主函数:

int main()
{srand((unsigned int)time(NULL));//随机数种子vector<Person> v;createPerson(v);Scoring(v);Print(v);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/682556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java解决删除字符使频率相同问题

Java解决删除字符使频率相同问题 01 题目 给你一个下标从 0 开始的字符串 word &#xff0c;字符串只包含小写英文字母。你需要选择 一个 下标并 删除 下标处的字符&#xff0c;使得 word 中剩余每个字母出现 频率 相同。 如果删除一个字母后&#xff0c;word 中剩余所有字母…

定点整数的表示范围

原码整数表示范围&#xff1a; − ( 2 n − 1 ) ≤ x ≤ 2 n − 1 原码整数表示范围&#xff1a;-(2^n-1)\le x \le 2^n-1 原码整数表示范围&#xff1a;−(2n−1)≤x≤2n−1 补码整数表示范围&#xff1a; − 2 n ≤ x ≤ 2 n − 1 【比原码多表示 − 2 n 】 补码整数表示范围…

lv15 平台总线驱动开发——ID匹配 3

一、ID匹配之框架代码 id匹配&#xff08;可想象成八字匹配&#xff09;&#xff1a;一个驱动可以对应多个设备 ------优先级次低&#xff08;上一章名称匹配只能1对1&#xff09; 注意事项&#xff1a; device模块中&#xff0c;id的name成员必须与struct platform_device中…

C语言系列3——流程控制:条件语句与循环结构

目录 写在开头1. if语句的应用与语法解析2. switch语句的使用技巧3. for与while循环的比较与实际运用3.1 for循环的使用3.2 while循环的使用3.3 比较与实际运用 4. 练习题目4.1 题目介绍4.2 参考答案 写在最后 写在开头 在程序设计中&#xff0c;流程控制结构是至关重要的&…

猫头虎分享已解决Bug || ValueError: No gradients provided for any variable

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

2019年通信工程师初级 实务 真题

文章目录 一、第9章 通信动力与环境通信电源系统的主要功能&#xff1a;“供”、“配”、“储”、“发”、“变” 二、第2章 传输网三、第3章 接入网四、第4章 互联网 一、第9章 通信动力与环境 【问题一】 网络通信设备对动力与环境的质量要求可以归纳为 &#xff08;1&#…

计算机服务器中了360后缀勒索病毒怎么办?360后缀勒索病毒处理流程

网络技术的不断应用与发展&#xff0c;为企业的生产运营提供了有利保障&#xff0c;越来越多的企业走向数字化办公模式&#xff0c;并且企业的发展离不开数据支撑&#xff0c;重视数据安全成为了众多企业关心的主要话题。春节前后&#xff0c;云天数据恢复中心接到很多企业的求…

创建一个多进程服务器和多线程服务器

多进程服务器 #include<myhead.h> #define PORT 8888 //端口号 #define IP "192.168.10.10" //IP地址//定义信号处理函数&#xff0c;用于回收僵尸进程 void handler(int signo) {if(signo SIGCHLD){while(waitpid(-1, NULL, WNOHAN…

C++:IO流

目录 关于CIO流 C/C中的日期输入 连续输入的问题 C文件IO流 运算符>>的运用 二进制读写 文本读写 stringstream 关于CIO流 C系统中ios为基类&#xff0c;其他类都是直接或间接派生自ios类 C标准库提供了4个全局流对象cin、cout、cerr、clog (在使用时候必须要包…

C语言——oj刷题——获取月份天数

题目&#xff1a; 描述 KiKi想获得某年某月有多少天&#xff0c;请帮他编程实现。输入年份和月份&#xff0c;计算这一年这个月有多少天。 输入描述&#xff1a; 多组输入&#xff0c;一行有两个整数&#xff0c;分别表示年份和月份&#xff0c;用空格分隔。 输出描述&…

LeetCode刷题计划

LeetCode刷题计划 推荐 代码随想录&#xff1a;https://github.com/youngyangyang04/leetcode-master 卡码网 练习ACM模式 https://kamacoder.com/ 01 #include <iostream> using namespace std;int main() {int a ,b;while(cin>>a>>b){cout<<ab<…

作业2024/2/14

指针练习 1、选择题 1.1、若有下面的变量定义&#xff0c;以下语句中合法的是&#xff08; A &#xff09;。 int i&#xff0c;a[10]&#xff0c;*p&#xff1b; A&#xff09; pa2; B&#xff09; pa[5]; C&#xff09; pa[2]2; D&#xff09; p&(i…

Go语言开发小技巧易错点100例(十二)

往期回顾&#xff1a; Go语言开发小技巧&易错点100例&#xff08;一&#xff09;Go语言开发小技巧&易错点100例&#xff08;二&#xff09;Go语言开发小技巧&易错点100例&#xff08;三&#xff09;Go语言开发小技巧&易错点100例&#xff08;四&#xff09;Go…

【AI视野·今日CV 计算机视觉论文速览 第293期】Fri, 19 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Fri, 19 Jan 2024 Totally 103 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers ParaHome: Parameterizing Everyday Home Activities Towards 3D Generative Modeling of Human-Object Interactions Aut…

PyTorch深度学习快速入门教程 - 【小土堆学习笔记】

小土堆Pytorch视频教程链接 声明&#xff1a; 博主本人技术力不高&#xff0c;这篇博客可能会因为个人水平问题出现一些错误&#xff0c;但作为小白&#xff0c;还是希望能写下一些碰到的坑&#xff0c;尽力帮到其他小白 1 环境配置 1.1 pycharm pycharm建议使用2020的&…

c入门第十五篇——学而时习之(阶段性总结)

古人说&#xff1a;“学而时习之。”古人又说&#xff1a;“温故而知新。”古人还说&#xff1a;“读书百遍&#xff0c;其义自见。” 总结一个道理那就是好书要反反复复的读&#xff0c;学习过的知识要时常去复习它&#xff0c;才有可能常读常新。 我&#xff1a;“师弟&…

蔚来面试解答

你的问题包含了多个方面&#xff0c;我会尽力逐一回答&#xff1a; 锁机制及锁膨胀过程&#xff1a; 锁机制是并发编程中用于控制多线程对共享资源访问的一种机制&#xff0c;以避免资源冲突导致的数据不一致问题。锁膨胀是指锁在运行时根据竞争情况可以升级的过程&#xff0c;…

【安装pytorch】

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 例如&#xff1a;项目需求安装pytorch&#xff0c;安装神经网络环境配置。 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 安装pytorch 官网 https://pytorch.org/ 详细看官方提供…

petalinux2018.3安装步骤

1、虚拟机安装ubuntu-16.04.7-desktop-amd64.iso &#xff08;注意&#xff1a;安装ubuntu-18.04.6-desktop-amd64.iso和ubuntu-16.04.6-desktop-i386.iso会报以下错误&#xff09; environment: line 314: ((: 10 #15~1 > 10 #3: syntax error in expression (error toke…

C#中使用 => 运算符的 switch 表达式

目录 一、关于switch 语句 1.switch 语句及语法结构 2.switch 语句的一些重要注意事项 3.通常情况下的示例 1.示例1 2.示例2 二、使用 > 运算符的 switch 表达式 1.关于switch表达式 2.示例1 3.示例2 一、关于switch 语句 1.switch 语句及语法结构 C# 中的 swit…