题解 | #查找学生信息#

查找学生信息

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")

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务