首页 > 其他分享 >STL案例-评委打分

STL案例-评委打分

时间:2024-08-25 17:22:26浏览次数:17  
标签:name STL ++ int Score dit 评委 include 打分

#include<iostream>
using namespace std;
#include<vector>
#include<deque>
#include<algorithm>

class Person
{
public:
	Person(string name,int score)
	{
		this->m_Name = name;
		this->m_Score = score;
	}

	string m_Name;
	int m_Score;
};

//创建五名选手
void createPerson(vector<Person>& v)
{
	string name = "选手";
	string nameSeed = "ABCDE";
	for (int i = 0; i < 5; i++)
	{
		name += nameSeed[i];
		v.push_back(Person(name, 0));
	}
}

//给选手打分
void setScore(vector<Person>& v)
{
	for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
	{
		deque<int>d;
		for (int i = 0; i < 10; i++)
		{
			d.push_back(rand()%41 + 60);
		}

		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;
		}

		it->m_Score = sum / d.size();

		cout << "其最终平均分为: " << it->m_Score << endl << endl;
	}
}

void test01()
{
	vector<Person> v;
	createPerson(v);
	setScore(v);
}

int main() {
	test01();
}

结果:

标签:name,STL,++,int,Score,dit,评委,include,打分
From: https://blog.csdn.net/weixin_47768406/article/details/141488158

相关文章

  • STL、字符串、字符的函数、队列
     vector,变长数组,倍增的思想size()//返回元素个数empty()//返回是否为空clear()//清空front()/back()//开头/结尾push_back()/pop_back()//输入/删除首个begin()/end()迭代器=find(a.begin(),a.end(),x);string,字符串siz......
  • C++:STL六大组件,知识点总结。
    STL知识点总结STL是C++标准库中的一个重要部分,提供了一组灵活通用的数据结构,核心是模板类。接下来是STL的主要组件及其功能简介。1.容器容器是用来存储和管理一组数据的对象。不同的容器适用于不同类型的数据存储需求。可理解为各种形式实现的存储结构顺序容器vec......
  • rustlings v6.0 运行时出现 “ You are trying to run Rustlings using the old metho
    背景在之前学习rust时,使用过一段时间rustlings感觉还不错,但是之前的学习只把rustlings的题目刷了一半,然后想再从头到尾刷一遍rustlings的题目。在rustlings的README.md文档中也没有找到重置rustlings的方法,而且官方的分支也更新到了v6.2.0(我之前使用的似乎是v5.......
  • C++ STL源码个人学习与分析记录 ——空间配置器(allocator)
    STL源码个人学习与分析记录——空间配置器(allocator)1.为什么需要空间配置器?2.SGI-STL空间配置器的实现2.1一级空间配置器:malloc_alloc_template2.2二级空间配置器:default_alloc_template2.2.1.内存池技术2.2.2.自由链表(free-list)2.2.3Union2.3二级空间配置器的......
  • C++ STL源码个人学习与分析记录 ——Construct()与Destroy()
    STL源码个人学习与分析记录——Construct()与destroy()1.目前所使用的编译器1.1编译器:MinGWVersion:13.2.01.2MinGW的主要组件1.3写文初衷2.构造与析构工具:Construct()与Destory()函数的定义2.1Construct()函数的定义2.1.1“__cplusplus”的含义2.1.2编译组态2.1.3(void......
  • STL map、set、multi_map、multi_set 基本概念与用法
    目录基本概念关联式容器键值对树形结构的关联式容器set描述set的使用map描述map的使用multiset描述multiset简单使用multimap描述底层结构基本概念关联式容器在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容......
  • C++好用的特性以及STL
    C++中基于范围的for循环程序的基本结构包括三种:顺序结构,选择结构(也称分支结构)和循环结构(也称程序的基本控制结构包括三种:顺序结构、选择结重复结构)。循环结构的实现方法比较多,除了使用while()、dowhile()和for()循环之外,C++11还提供了一种称为基于范围(Rane-based)的fo......
  • C++ queue(STL queue,队列)用法详解
    只能访问queue<T>容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。许多程序都使用了queue容器。queue容器可以用来表示超市的结账队列或服务器上等待执行的数据库事务队列。对于任何需要用FIFO准则处理的序列来说,使用queue容器适......
  • C++——STL——vector容器
    vector的头文件#include<vector>vector的声明与初始化vector<类型>变量=赋值;//整型vector<int>a={1,2,3,4};//浮点型 vector<double>b={1.1,2.2,3.2,4.4};//字符型 vector<char>c={'a','b','c'......
  • CVSS(Common Vulnerability Scoring System)打分规则解读
    CVSS(CommonVulnerabilityScoringSystem)提供了一种根据漏洞的主要特征进行打分,反映其严重性的方法。CVSS已成为被广泛使用的标准。下面是CVSS3.1版本计算器的界面截图,本文对BaseScore的打分标准做解读,并提供一些建议。同时会对每个维度选项做翻译。 AttackVector攻击向......