vector实例题

简介: vector实例题

vector实例题


ABCDE五个选手,10个评委分别对每一名选手打分,去除最高分,去除最低分,取平均分


分三个步骤:

1.创建五个选手(vector容器)

2.给五个选手打分(deque容器)

3.显示最后得分


代码:


#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <deque>
#include <algorithm>
#include <ctime>
//设计一个学生类
class Person
{
public:
  //构造函数
  Person(string name,int aver)
  {
  this->m_name = name;
  this->m_aver = aver;
  }
  string m_name;
  int m_aver;
};
//创建五个选手
void CreatePerson(vector<Person>&v)
{
  string PersonN = "ABCDE"; 
  for(int i=0;i<5;i++)
  {
  string name = "选手";
  name += PersonN[i];  //分别重新命名
  int age = 0;
  Person p(name,age);  //析构函数赋值
  v.push_back(p);
  }
}
void GradePerson(vector<Person>&v)
{
  for(vector<Person>::iterator it = v.begin();it!=v.end();it++)
  {
  deque<int> d;              //deque容器中间存放评分
  for(int i=0;i<10;i++)
  {
    int score = rand()%41+60;
    d.push_back(score);   //存入十个随机数
  }
  sort(d.begin(),d.end());  //进行升序排序
  d.pop_front();     //删除十个中最低分
  d.pop_back();     //删除十个中最高分
  int sum = 0;
  for(deque<int>::iterator its = d.begin();its!=d.end();its++)
  {
    sum += (*its);  
  }
  int aver = sum/d.size();
  it->m_aver = aver;
  }
}
//打印平均分
void PrintPerson(vector<Person>&v)
{
  for(vector<Person>::iterator it = v.begin();it!=v.end();it++)
  {
  cout<<"选手:"<<it->m_name<<"  平均分:"<<it->m_aver<<endl;
  }
}
int main()
{
  srand((unsigned int)time(NULL));
  //1.创建五个选手
  vector<Person> v;
  CreatePerson(v);
  //测试
  /*for(vector<Person>::iterator it = v.begin();it!=v.end();it++)
  {
  cout<<"姓名:"<<it->m_name<<" 年龄:"<<it->m_age<<endl;
  }*/
  //2.给5个选手打分
  GradePerson(v);
  //3.显示平均分
  PrintPerson(v);
  system("pause");
  return 0;
}
相关文章
|
监控 数据可视化 关系型数据库
PostgreSQL主备库搭建
pg主备库的搭建,首先需在2个节点安装pg软件,然后依次在2个节点配置主备。 本文采用os为CentOS7.6,pg版本使用14.2,以下为详细部署步骤。
1051 0
|
分布式计算 Java Hadoop
Hadoop垃圾回收机制
Hadoop垃圾回收机制
|
缓存 前端开发 JavaScript
浅浅阅读umi中InitialState插件源码 - 杨磊
InitialState插件源码的简要介绍
1246 0
浅浅阅读umi中InitialState插件源码 - 杨磊
|
监控 数据安全/隐私保护 Android开发
用最简单的方法下载微信视频号中的视频:微信视频号下载工具!
用最简单的方法下载微信视频号中的视频:微信视频号下载工具!
用最简单的方法下载微信视频号中的视频:微信视频号下载工具!
|
XML Java Android开发
Androistudio lint检查去除无效代码、无效资源
Androistudio lint检查去除无效代码、无效资源
500 0
|
云安全 弹性计算 运维
混合云构架和场景|学习笔记
快速学习混合云构架和场景
混合云构架和场景|学习笔记
|
Linux 数据安全/隐私保护
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
739 0
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
|
网络安全 API 开发工具
【Python】【应用】Python应用之玩转gerrit系列之一——搭建基础环境
【Python】【应用】Python应用之玩转gerrit系列之一——搭建基础环境
1115 0
【Python】【应用】Python应用之玩转gerrit系列之一——搭建基础环境
|
缓存 前端开发 安全
SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据(二篇)
最近有朋友问起我有没有做过抖音开放平台,让我有了些思考,其实之前做过的。虽然抖音APP很火,但是毕竟不像微信开放平台那样,已沉淀多年,基本上每个API只要肯用心查找,网上都有很多资料可以参考。而抖音开放平台则不然,刚面世不久,资料比较少。即使对于一个开发人员来说,接入第三方接口都大同小异,不会太难,但我还是想把这些记录下来,特别是遇到的坑,会列在下面,一起参考学习。限于水平有限,若有错误,不吝赐教哈。那么,我们就开始正文吧。
1194 0
SpringBoot 开发抖音开放平台获取用户的粉丝统计和短视频数据(二篇)
|
Ubuntu Linux 网络安全
Ubuntu系统环境一系列问题解决方案(二)
Ubuntu系统环境一系列问题解决方案(二)
Ubuntu系统环境一系列问题解决方案(二)