案例--评委打分

news/2024/12/24 22:13:26/文章来源:https://www.cnblogs.com/RX1Ri/p/18628533

案例描述:

有5名选手:选手ABCBE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。

实现步骤

1.创建五名选手,放到vector中
2.遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中
3. sort算法对deque容器中分数排序,去除最高和最低分
4.deque容器遍历一遍,累加总分
5.获取平均分

示例:

#include <iostream>
using namespace std;
#include <deque>
#include <algorithm>  // 标准算法头文件
#include <vector>
#include <string>
#include <ctime>//deque容器排序
class Person
{
public:Person(string name, int score){this->m_Name = name;this->m_Score = score;}string m_Name;//姓名int m_Score;//平均分
};
// void printDeque(const deque<int>&d)
// {
//     for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
//     {
//         cout << *it << " ";
//     }
//     cout << endl;
// }
void creatPerson(vector<Person>&v)
{string nameSeed="ABCDE";for (int i = 0; i < 5; i++){ string name="选手";name+=nameSeed[i];int score=0;Person p(name,score);//将创建的Person对象放入到容器中v.push_back(p);}}
void setScrore(vector<Person>&v)
{for (vector<Person>::iterator it = v.begin(); it!=v.end(); it++){//将评委的分数放入到deque容器中deque<int>d;for (int i = 0; i < 10; i++){int score=rand()%41+60;//60-100d.push_back(score);}// cout<<"选手:"<<it->m_Name<<"打分:"<<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;//累加每个评委的分数}int avg=sum/d.size();//将平均分赋值给选手身上it->m_Score=avg;}
};
void showScore(vector<Person>&v) 
{for (vector<Person>::iterator it = v.begin(); it!=v.end(); it++){cout<<"姓名:"<<it->m_Name<<"平均分:"<<it->m_Score<<endl;}
}
int main()
{//随机数种子srand((unsigned int)time(NULL));//1.创建5名选手vector<Person>v;//存放选手容器creatPerson(v);//测试// for (vector<Person>::iterator it = v.begin(); it!=v.end(); it++)// {//     cout<<"姓名:"<<(*it).m_Name<<"分数:"<<(*it).m_Score<<endl;// }//2.给5名选手打分setScrore(v);//3.显示最后得分showScore(v);return 0;
}

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

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

相关文章

国产AI使用尝试

豆包AI使用体验不得不说现在AI的能力也是越来越离谱了。 上一篇博客 的代码是我写的,但是懒得写文章了,让AI替我生成一篇,这个质量我没话说。 完全可以以假乱真了,但是具体的细节、上下文链接、逻辑问题,还有待检查。 我只修改了可能侵犯版权的部分,具体的文章可以直接跳…

轻松玩转 JMeter 测试计划组件

轻松玩转 JMeter 测试计划组件 宝子们,今天咱就来唠唠 JMeter 里那个超重要的测试计划组件,它可是整个性能测试的 “指挥官”,把各种测试元素安排得明明白白。一、测试计划组件是个啥?有啥用? 这个组件就像是一场大戏的总策划,它决定了整个测试的范围和目标。啥意思呢?就…

【Python项目】用pywin32在聊天窗口发送QQ好友/群消息

源码中涉及到的函数用法: win32clipboard.SetClipboardData(format, hMem):它需要一个格式化的数据对象和一个数据块。CF_DIB ——DIB图片,它包含一个BITMAPINFO结构,然后是位图位。CF_DIF ——软件领域的数据交换格式。CF_PALETTE ——调色板。每当应用程序放置数据在剪贴…

【Rive】骨骼动画

1 骨骼基本概念 ​ 1)骨骼简介 ​ 骨骼不能渲染显示,只能控制其他图形变换,具有以下特性。绑定图形:可以将图形绑定到骨骼上,使图形随骨骼移动、旋转或缩放。 权重 (Weights):通过调整顶点权重,可以控制图形在骨骼运动时的变形程度,从而实现平滑的形变效果。 IK(…

蓝牛书签网址有效检测工具V1.20 免费版

蓝牛书签网址有效检测工具可以快速检测浏览器收藏夹的标签是否还有效 快速帮你删除无效的标签,只需要你把收藏夹导出然后导入到软件检测即可 更新日志: 2024年12月7日 V2.00 更新 全面提升检测速度 2022.06.26 V1.20更新 本地下载 软件使用教程

蓝牛排队助手单机版

在日常生活中很多时间人们在排队的时候,经常碰到插队,混乱、站立等候等现象. 使用蓝牛排队助手可以帮助我们解决在办事过程中所遇到的各种排队、等候和拥挤等现象,让排队显得舒适有序,并且可以大大的提高各个办事处的服务质量和服务形象,为客户及管理人员都带来了方便与愉悦…

ibiquge 小说下载

一、引言在当今的网络文学世界中,ibiquge作为一个广为人知的平台,拥有着海量的小说资源,深受广大读者的喜爱。然而,对于一些读者来说,他们可能希望能够将自己喜欢的小说保存下来,以便在没有网络的情况下也能随时阅读。这时候,爬虫技术就可以派上用场了。通过编写爬虫程序…

JVM简介—3.JVM的执行子系统

大纲 1.Class文件结构 2.Class文件格式概述 3.Class文件格式详解 4.字节码指令 5.类的生命周期和初始化 6.类加载的全过程 7.类加载器 8.双亲委派模型 9.栈桢详解 11.方法调用详解 12.基于栈的字节码解释执行引擎1.Class文件结构 (1)Java跨平台的基础 字节码是各种不同平台虚拟…

ABC232G

大致题意 你有一个 \(n\) 个点的有向完全图。 每个点有两个属性 \(a_i\) 和 \(b_i\)。\(u \to v\) 的边的权值是 \((a_u+b_v) \bmod m\)。 给你 \(n\) , \(m\) 和 \(\{a_i\}\) 以及 \(\{b_i\}\) , 求 \(1\) 到 \(n\) 的最短路。$ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ $ 2\ \le…

【tomcat内存马】多种查杀方式

环境搭建 我在WINDOWS7虚拟机下搭建的Tomcat,搭建教程网上都有,点击startup.bat启动环境注入内存马 这里使用了哥斯拉的内存马查杀方式一:VisualVM(远程调试) 设置jstatd.all.policy 文件启动jstatd jstatd.exe -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.…

intellij idea使用:激活码与插件问题

下载 官网下载,不需要下载最新版的,我下载的是2024.2.3,能正常使用激活码 安装教程去网上搜,有一大把 激活码 这里整合了两个靠谱的激活码更新网站,里面会更新免费的激活码,拿来用即可,比在网上搜省很多时间,网上很多都是打广告的,没有有效信息。https://www.yuque.co…