C++初学者:用iostream和string实现考试座位号快速查询程序
好的,下面是一个使用C++编写的程序,它可以帮助学生快速找到他们的座位号。这个程序使用了`iostream`和`string`库,并且尽量保持简单易懂。 ```cpp #include <iostream> #include <string> #include <vector> using namespace std; int main() { int n; cin >> n; // 存储座位号和学号的映射 vector<string> seatToStudent(n + 1); // 读取每个座位号对应的学生学号 for (int i = 1; i <= n; ++i) { string studentID; cin >> studentID; seatToStudent[i] = studentID; } int m; cin >> m; // 处理每个查询 for (int i = 0; i < m; ++i) { string queryID; cin >> queryID; bool found = false; for (int j = 1; j <= n; ++j) { if (seatToStudent[j] == queryID) { cout << j << endl; found = true; break; } } if (!found) { cout << "na" << endl; } } return 0; } ``` 代码解释 1. 输入部分: - 首先读取学生人数`n`。 - 然后读取每个座位号对应的学生学号,并存储在`seatToStudent`向量中。`seatToStudent[i]`表示座位号为`i`的学生学号。 2. 查询部分: - 读取待查询的学生人数`m`。 - 对于每个查询,读取学生的学号`queryID`。 - 遍历`seatToStudent`向量,查找与`queryID`匹配的座位号。如果找到,输出座位号;否则输出`na`。 注意事项 - 使用`vector`来存储座位号和学号的映射,这样可以方便地通过座位号直接访问学号。 - 在查询部分,使用一个简单的线性搜索来查找学号。虽然这在大数据量下可能不是最优的,但对于题目给定的数据范围(最多1000个学生),这种方法是可行的。 希望这个程序对你有帮助!如果有任何问题或需要进一步的解释,请随时提问。 ######[AI写代码神器 | 522点数解答 | 2024-10-18 23:44:48]
- 代码大变身:从残缺到完整的 Java 代码补充完善! (字节豆包 | 215点数解答 | 2024-12-13 19:41:46)307
- Java 学生类代码优化:避免数据类型、命名及封装陷阱(DeepSeek | 464点数解答 | 2025-10-28 16:05:49)108
- C++ 揭秘:从 vehicle 基类到 car 派生类的奥秘(讯飞星火 | 65点数解答 | 2024-05-26 17:01:16)359
- C++ 代码揭秘:打造可运行、可刹车的汽车类示例 (GPT | 373点数解答 | 2024-05-26 17:02:18)359
- C# 代码:Form1 类中的 VIN 信息结构体与列表实现(字节豆包 | 39点数解答 | 2024-11-05 15:09:08)307
- Java代码:用户、新闻与评论类的定义展示 (字节豆包 | 33点数解答 | 2024-12-13 19:38:40)225
- C++与C语言代码:文章中查找单词次数及位置的问题分析与改进方案(字节豆包 | 1381点数解答 | 2025-12-15 17:32:28)56
- Java 代码实践:用建造者模式打造 KFC 特色套餐(阿里通义 | 752点数解答 | 2024-10-24 17:01:31)242
- C#中自定义 Attribute 特性类:从定义到运行时反射读取,附吴亦凡、罗志祥示例及注意点(字节豆包 | 894点数解答 | 2025-06-10 15:14:59)226
- C++ 完整代码:实现书籍信息录入与列表管理(GPT | 2245点数解答 | 2024-12-18 09:06:13)271
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- 课程成绩统计程序 3:从继承到组合,解锁灵活开发新姿势!(字节豆包 | 2064点数解答 | 2025-12-04 10:47:33)91