zoukankan      html  css  js  c++  java
  • C++中的map学习

    题目描述:

     输入N个学生的信息,然后进行查询。

    输入:

     输入的第一行为N,即学生的个数(N<=1000)

    接下来的N行包括N个学生的信息,信息格式如下:
    01 李江 男 21
    02 刘唐 男 23
    03 张军 男 19
    04 王娜 女 19
    然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:
    02
    03
    01
    04
    输出:

     输出M行,每行包括一个对应于查询的学生的信息。

    如果没有对应的学生信息,则输出“No Answer!”
    样例输入:
    4
    01 李江 男 21
    02 刘唐 男 23
    03 张军 男 19
    04 王娜 女 19
    5
    02
    03
    01
    04
    03
    样例输出:
    02 刘唐 男 23
    03 张军 男 19
    01 李江 男 21
    04 王娜 女 19
    03 张军 男 19


    很简单的一题。
    用来练习C++ map 以及 string 的用法。
    不管怎么说,还是没有java写起来顺手

    学习语句:
    1、map<string,string>:: iterator iter; //对C++ 了解甚少,这句还不懂
    2、 m.insert(pair<string,string>(id,info));  
    3、的到key和value分别用iter->first   iter->second      // 起的什么名啊,说实话真挫,难怪有人说C++垃圾了

    4、 iter = m.find(id);

       if(iter != m.end()) 
    #include <iostream>
    #include <stdio.h>
    #include <map>
    #include <string>
    using namespace std;

    int main() {
    string id,info,str;
    int index,n,M;
    map<string,string> m;
    map<string,string>:: iterator iter;
    while(cin >> n){
    cin.ignore();
    m.clear();
    for(int i=0; i<n; i++){
    getline(cin,str);
    index = str.find(" ");
    id = str.substr(0,index);
    info = str.substr(index+1);
    m.insert(pair<string,string>(id,info));
    }
    cin >> M;
    for(int i=0; i<M; i++){
    cin >> id;
    iter = m.find(id);
    if(iter != m.end())
    cout << iter->first <<" "<<iter->second<<endl;
    else
    cout<<"No Answer!"<<endl;
    }
    }

    return 0;
    }



  • 相关阅读:
    某地理位置模拟APP从壳流程分析到破解
    GDB多线程调试分析
    ARM平台指令虚拟化初探
    爱加密企业版静态脱壳机编写
    APK加固之静态脱壳机编写入门
    APK加固之类抽取分析与修复
    Xposed截获 Android手机QQ密码
    菜鸟 学注册机编写之 Android app
    Pstools使用
    msf端口扫描
  • 原文地址:https://www.cnblogs.com/love533/p/2435899.html
Copyright © 2011-2022 走看看