本文共 1584 字,大约阅读时间需要 5 分钟。
我们需要设计一个程序来读取学生的课程信息,并按照要求输出每个学生的课程数量。具体来说,我们需要处理以下数据:
studentNum
courseNum
name
course
目标是将学生的名字映射到他们选修的课程号列表中,并在程序结束时按照名字顺序输出每个学生选修的课程数量。
为了实现这一目标,我们可以使用以下数据结构:
map
:用于存储学生名字作为键,对应的值是一个vector<int>
,存储该学生选修的课程号。vector
:用于存储输入的课程号和学生人数。#include#include #include #include
读取输入:
存储数据:
map<string, vector<int>> stumap
来存储学生名字和对应的课程号列表。vector<int>
并将课程号添加到其中。vector<int>
中。输出结果:
map
,按照名字顺序输出每个学生的课程数量。pair
来遍历map
,获取每个学生的名字和课程数量。假设输入如下:
3 21Alice 1Bob 1Charlie 2
输出将为:
Alice 1Bob 1Charlie 2
cin >>
:可以将cin >> course
和cin >> num
合并为一个cin >> course >> num
来提高效率。const
:尽量使用const
来声明不变量,提高代码可读性。通过map
和vector
的使用,我们可以高效地存储和处理学生的课程信息。map
的键值对特性使得我们可以快速查找和修改学生信息,而vector
则适合用来存储可变长度的数据。这种组合在处理动态数据时非常有效。
转载地址:http://lnyg.baihongyu.com/