目录
*
1、STL容器案例-评分打分
案例描述
有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。
实现步骤
-
创建五名选手,放到vector中
-
遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中
-
sort算法对deque容器中分数排序,去除最高和最低分
-
deque容器遍历一遍,累加总分
-
获取平均分
2、关于随机数
综上所述:
通过time函数作为参数传入srand函数,进而设置rand函数的种子,再使用rand函数根据srand函数设置的种子产生随机序列,就可以到我们想要的随机数
srand(time(NULL));
int num = rand()%41+60;//60~100
srand((unsigned int)time(NULL));
for (int i = 0; i < 10; i++)
{
int score = rand() % 41 + 60; // 60 ~ 100
cout << score << endl;
}
注意:
rand()%41代表的意思是生成0~41之间的数字,左闭右开;
加上60后,生成的随机数就是60~100;
需要注意的是,srand(time(NULL));只需要执行一次即可。如果每次使用rand()前都执行一遍,就会产生相同的随机数,这是因为time()是以秒为单位的,在同一秒内返回的值都是相同的,种子是相同的,产生的随机序列自然也相同。每次都从同一个序列的开头取数,可不就一样了嘛。
3、<algorithm>头文件下常用的函数:
4、STL容器案例-员工分组
案例描述
-
公司今天招聘了10个员工(ABCDEFGHIJ),10名员工进入公司之后,需要指派员工在那个部门工作
-
员工信息有: 姓名 工资组成;部门分为:策划、美术、研发
-
随机给10名员工分配部门和工资
-
通过multimap进行信息的插入 key(部门编号) value(员工)
-
分部门显示员工信息
实现步骤
-
创建10名员工,放到vector中
-
遍历vector容器,取出每个员工,进行随机分组
-
分组后,将员工部门编号作为key,具体员工作为value,放入到multimap容器中
-
分部门显示员工信息
待更。。。