1 #include<iostream>
2 #include<string>
3 #include<deque>
4 #include<vector>
5 #include<algorithm>
6
7 using namespace std;
8
9 //选手类
10 class Person
11 {
12 public:
13 Person(string name, int score)
14 {
15 this->m_Name = name;
16 this->m_Score = score;
17 }
18
19
20 string m_Name; //姓名
21 int m_Score; //分数
22 };
23
24 //赋值 5名
25 void createPerson(vector<Person>& v)
26 {
27 string nameSeed = "ABCDE";
28 for (int i = 0; i < 5; i++)
29 {
30 string name = "选手";
31 name += nameSeed[i]; //选手赋值操作
32
33
34 int score = 0;
35 Person p(name, score);
36
37 //将创建的Person的对象 放入容器中
38 v.push_back(p);
39 }
40 }
41
42 //打分
43 void steScore(vector<Person>& v)
44 {
45 for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
46 {
47 //将评委的分数放入到deque容器中
48 deque<int>d;
49 for (int i = 0; i < 10; i++)
50 {
51 int score = rand() % 40 + 60; //60-100
52 d.push_back(score);
53 }
54 cout << "选手: " << it->m_Name << "\t打分:" << endl;
55
56 for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++)
57 {
58 cout << *dit << " ";
59 }
60 cout << endl;
61
62
63
64
65 //paixu排序
66 sort(d.begin(), d.end());
67
68 //去除最高分和最低分
69 d.pop_back();
70 d.pop_front();
71
72 //取平均分
73 int sum = 0;
74 for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++)
75 {
76 sum += *dit; //累加每个评委的分数
77 }
78 int avg = sum / d.size();
79
80 //将平均分赋值给选手上
81 it->m_Score = avg;
82
83 }
84 }
85 void showScore(vector<Person>& v)
86 {
87 for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
88 {
89 cout << "姓名:" << it->m_Name << "\t平均分:" << it->m_Score << endl;
90 }
91 }
92
93 int main()
94 {
95 //随机数种子
96 srand((unsigned int)time(NULL));
97 //1.创建5名选手
98 vector<Person>v; //存放选手的容器
99 createPerson(v);
100
101 //测试
102
103 //for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
104 //{
105 // cout << "姓名:" << (*it).m_Name << "\t分数:" << (*it).m_Score << endl;
106
107 //}
108 //2.给5名选手打分
109 steScore(v);
110
111
112 //3.显示最后的得分
113 showScore(v);
114
115
116 system("pause");
117 return 0;
118 }

C++ //案列-评委打分 //(容器添加 删除 算法排序 随机数 字符串追加)描述:5名选手 ABCDE,10个评委分别对每一位选手打分,去除最高分,去除评委中的 //的最低分,取平均分的更多相关文章

  1. C语言链表操作模板(添加,删除,遍历,排序)

    C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...

  2. 第29天:js-数组添加删除、数组和字符串相互转换

    一.添加数组var arr=[1,3,5];arr.push(7,9);//添加7和9到数组arr后面,得到[1,3,5,7,9]1.push();可向数组末尾添加一个或多个元素,并返回新的长度.2. ...

  3. C++结构体之统计最高最低分

    [Submit][Status][Web Board] Description 输入学生的姓名和成绩,统计出最高分的学生和最低分的学生. Input 输入5个学生的姓名和分数,用结构体完成 Outpu ...

  4. java基础:数组详解以及应用,评委打分案例实现,数组和随机数综合,附练习案列

    1.数组 1.1 数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致. 1.2 数组的定义格式 1.2.1 第一种格式 数据类型[] 数组名 示例: int[] arr;     ...

  5. 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv

    题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverag ...

  6. WPF下的Richtextbox中实现表格合并,添加删除行列等功能

    .Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...

  7. windows 2003添加删除windows组件中无iis应用程序服务器项的解决方法

    解决方法如下: 1.开始 -- 运行,输入 c:\Windows\inf\sysoc.inf,会打开这个文件;在sysoc.inf中找到"[Components]"这一段,并继续找 ...

  8. 将 Callout 容器添加到移动设备应用程序中

    在移动设备应用程序中,callout 是在应用程序顶部弹出的容器.该容器可以容纳一个或多个组件,并且支持不同类型的布局. callout 容器可以是模态或非模态容器.模态容器在其关闭之前接受所有的键盘 ...

  9. dir(dict)|字典的创建-添加-删除-修改-判断存在-取值等相关操作

    dir(dict) ####字典操作:创建-添加-删除-修改-判断存在-取值 #(一)创建字典: {} .等号. zip(). [(),()] #1.创建空字典 dict0 = {} #2.等号创建 ...

  10. C语言:统计整型变量m中各数字出现的次数,-去掉一个最高分和一个最低分,然后求平均值,(注意最低分和最高分可能有多个数并列)

    //统计整型变量m中各数字出现的次数,并存放在数组a中,其中,a[0]存放0出现的次数,a[1]存放1出现的次数. #include <stdio.h> ]) { int i; ; i&l ...

随机推荐

  1. 从Spring源码看Spring如何解决循环引用的问题

    Spring如何解决循环引用的问题 关于循环引用,首先说一个结论: Spring能够解决的情况为:两个对象都是单实例.且通过set方法进行注入. 两个对象都是单实例,通过构造方法进行注入,Spring ...

  2. win10家庭版禁用更新

    前言 2020年初因为疫情在家远程办公,而我老家没有电脑,先后向两位大学生借了两台电脑来办公,发现一个现象:他们的电脑系统都是家庭版,也就是刚买电脑时安装的win10家庭版.也问了其它几位计算机专业的 ...

  3. Django笔记四十二之model使用validator验证器

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十二之model使用validator验证器 这一篇笔记介绍一下 model 里的 validator 验证器. 首先,这是个什么东西呢 ...

  4. vim 从嫌弃到依赖(17)——查找模式

    最开始介绍vim的时候,提到vim有普通模式.插入模式.可视模式和命令行模式,并且已经对这几个模式做了详细的介绍了.除了这几个模式以外,vim还有一个非常强大的模式--查找模式,为什么最开始没有将其列 ...

  5. 13.4 DirectX内部劫持绘制

    相对于外部绘图技术的不稳定性,内部绘制则显得更加流程与稳定,在Dx9环境中,函数EndScene是在绘制3D场景后,用于完成将最终的图像渲染到屏幕的一系列操作的函数.它会将缓冲区中的图像清空,设置视口 ...

  6. 1.1 Windows驱动开发:配置驱动开发环境

    在进行驱动开发之前,您需要先安装适当的开发环境和工具.首先,您需要安装Windows驱动开发工具包(WDK),这是一组驱动开发所需的工具.库.示例和文档.然后,您需要安装Visual Studio开发 ...

  7. Unity框架中的核心类

    组件:Component 在Unity中,所有的游戏对象都可以挂载组件.组件控制着游戏对象的行为和外观,例如渲染.动画.碰撞检测等. 而Component就是组件的基类,提供了一些通用的方法和属性,例 ...

  8. jackson、objectMapper 、JsonAlias、JsonProperty、json。序列化和反序列化研究。

    总结: @JsonAlias:序列化出来是一定是真名,反序列化时可以传真名(驼峰)Json也可以传别名(下划线)Json @JsonProperty:序列化出来一定是别名,反序列化时也只能传别名Jso ...

  9. CF739A Alyona and mex 题解

    题目传送门 前置知识 贪心 | 构造 解法 从贪心的角度分析,最小的 \(\operatorname{mex}\) 仅会与长度最小的区间有关:另外为使得 \(\operatorname{mex}\) ...

  10. NC14526 购物

    题目链接 题目 题目描述 在遥远的东方,有一家糖果专卖店. 这家糖果店将会在每天出售一些糖果,它每天都会生产出 \(m\) 个糖果,第i天的第j个糖果价格为 \(C[i][j]\) 元. 现在的你想要 ...