本文共 1584 字,大约阅读时间需要 5 分钟。
我们需要设计一个程序来读取学生的课程信息,并按照要求输出每个学生的课程数量。具体来说,我们需要处理以下数据:
studentNumcourseNumnamecourse目标是将学生的名字映射到他们选修的课程号列表中,并在程序结束时按照名字顺序输出每个学生选修的课程数量。
为了实现这一目标,我们可以使用以下数据结构:
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/