题解 | #查找学生信息#
查找学生信息
https://www.nowcoder.com/practice/fe8bff0750c8448081759f3ee0d86bb4
#include<iostream>
#include<string>
#include<map>
using namespace std;
//方法一
int main1()
{
int N, M;
map<string, string> maps;
while (cin >> N) {
cin.ignore();
string s;
for (int i = 0; i < N; i++) {
getline(cin, s);
maps[s.substr(0, s.find(" "))] = s;
}
cin >> M;
for (int j = 0; j < M; j++) {
cin >> s;
if (maps.find(s) == maps.end()) {
cout << "No Answer!" << endl;
}
else {
cout << maps[s] << endl;
}
}
}
return 0;
}
//方法二
//例题10.7 查找学生信息
struct Student {
string num;
string name;
string gender;
int age;
};
int main()
{
map<string, Student> maps;
int N, M;
while (cin >> N) {
Student s;
for (int i = 0; i < N; i++) {
cin >> s.num >> s.name >> s.gender >> s.age;
maps[s.num] = s;
}
cin >> M;
string ss;
for (int i = 0; i < M; i++) {
cin >> ss;
if (maps.find(ss) == maps.end()) {
cout << "No Answer!" << endl;
}
else {
cout << maps[ss].num << " " << maps[ss].name << " " << maps[ss].gender << " " << maps[ss].age << endl;
}
}
}
return 0;
}


查看10道真题和解析