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;
}
相关文章
|
6月前
|
编译器 C++
【c++】vector
【c++】vector
44 0
|
30天前
|
算法 C++ 容器
C++之打造my vector篇(下)
C++之打造my vector篇(下)
26 0
|
30天前
|
存储 编译器 C++
C++之打造my vector篇(上)
C++之打造my vector篇(上)
25 0
|
3月前
|
存储 算法 C语言
【C++】vector的认识与使用
【C++】vector的认识与使用
|
4月前
|
Serverless C++ 容器
vector类(下)
vector类(下)
46 0
|
4月前
|
Java C++ Python
vector类(上)
vector类(上)
44 0
|
4月前
|
编译器 C++
【C++】vector的使用下
**C++ 中的 `std::vector` 概要:** - **元素获取:** 支持 `operator[]`(越界时不检
|
5月前
|
存储 索引 容器
vector
【6月更文挑战第17天】
54 0
|
6月前
|
算法 编译器 C++
(C++)vector介绍及其使用
(C++)vector介绍及其使用
63 0
|
设计模式 编译器 C++
【C++】vector的使用(下)
【C++】vector的使用(下)