以下是一个用 C++初学者的方法编写的程序,用于解决上述问题: ```cpp #include <iostream> #include <string> #include <vector> using namespace std; int main() { int n; cin >> n; vector<string> studentIDs(n); vector<int> seatNumbers(n); for (int i = 0; i < n; i++) { cin >> studentIDs[i]; seatNumbers[i] = i + 1; } int m; cin >> m; for (int i = 0; i < m; i++) { string queryID; cin >> queryID; bool found = false; for (int j = 0; j < n; j++) { if (studentIDs[j] == queryID) { cout << seatNumbers[j] << endl; found = true; break; } } if (!found) { cout << "na" << endl; } } return 0; } ``` 在这个程序中,我们首先读取学生数量和每个学生的学号,并将学号存储在一个向量中,同时为每个学号分配一个座位号。然后,读取查询数量和每个查询的学号,通过遍历学号向量来查找对应的座位号,如果未找到则输出`na`。 [2024-10-18 23:42:59 | AI写代码神器 | 316点数解答]