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. IdentityServer4 系列文章01---密码授权模式

    IdentityServer4实现.Net Core API接口权限认证(快速入门)   什么是IdentityServer4 官方解释:IdentityServer4是基于ASP.NET Core实 ...

  2. Qt "有效且启用的储存库"问题

    传送门 : https://www.cnblogs.com/SaveDictator/p/8532664.html 看就完了, 反正我好了 https://mirrors.tuna.tsinghua. ...

  3. 《重学Java设计模式》作者开始录视频了!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 1. 前言 哈哈哈,终于对B站下手了! 大家好,我是小傅哥,在紧张.羞涩到适应后,哈哈哈,终于 ...

  4. ROS之交叉编译配置

    参考资料: https://zhuanlan.zhihu.com/p/183819313 https://www.guyuehome.com/33759 1.原理 所谓的交叉编译,其实我们可以从编译原 ...

  5. centos多网卡时修改网卡的优先级

    我有个服务器有多个网卡,分别配置了多个网段的IP地址,发现有一个网段ping不通.最后发现是路由优先级的问题. 查看路由 查看本机路由route主要看Metric的值,值越小表示优先级越高,取值范围1 ...

  6. Java商城单体和微服务架构有什么区别

    微服务架构 概述 BizSpring移动全端国际化电商平台,是建立在Spring Cloud 基础上的微服务应用,服务化是系统达到一定规模以后的必然选择,主流的互联网公司基本都在迁移到服务化架构. 我 ...

  7. Delphi库单元结构

    单元(unit)是组成Pascal 程序的单独的源代码模块,单元由函数和过程组成,这些函数和过程能被主程序调用. 一个标准的单元文件格式如下: unit Unit1: //单元头 interface ...

  8. NC223888 红色和紫色.md

    题目链接 题目 题目描述 漫长的生命总是无聊的.这天,小红和紫准备玩一个染色游戏. 她们拿出了一个有 \(n*m\) 个格子的网格,每个格子只能被染成红色或紫色.每个人可以任意选择一个格子染成红色和紫 ...

  9. NC51100 A Simple Problem with Integers

    题目链接 题目 题目描述 You have N integers, \(A_1, A_2, ... , A_N\) .You need to deal with two kinds of operat ...

  10. 【分布式】load balance 02-consistent hash algorithm 一致性哈希算法原理详解

    负载均衡系列专题 01-负载均衡基础知识 02-一致性 hash 原理 03-一致性哈希算法 java 实现 04-负载均衡算法 java 实现 概念 一致哈希是一种特殊的哈希算法. 在使用一致哈希算 ...