题解 | #查找学生信息#
查找学生信息
https://www.nowcoder.com/practice/fe8bff0750c8448081759f3ee0d86bb4
本体思路很简单,但在输入上有一个关于输入的知识点要记住。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
getchar();//cin后,输入缓冲区会留有空白符,getline遇到空白符,会停止接收,所以要getchar()
map<string, string> stus;
while(n--){
string stuinfo;
getline(cin, stuinfo); //getline()遇到空白符,会停止接受,且会丢弃该空白符,所以输入m前面不需要getchar
int pos = stuinfo.find(' ');
string num = stuinfo.substr(0, pos);
stus[num] = stuinfo;
}
int m;
cin >> m; //后面的输入是cin,cin 读取输入时会忽略前导的空白字符,所以不需要getchar
while(m--){
string chaxun;
cin >> chaxun;
if(stus.find(chaxun) != stus.end()){
cout << stus[chaxun] << '\n';
}else{
cout << "No Answer!\n";
}
}
}
// 64 位输出请用 printf("%lld")
海康威视公司福利 1278人发布
