题解 | #查找学生信息#

查找学生信息

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

全部评论

相关推荐

能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务