首页 > 代码库 > 题目1069:查找学生信息(STL的map简单应用)
题目1069:查找学生信息(STL的map简单应用)
题目描述:
输入N个学生的信息,然后进行查询。
- 输入:
输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104
- 输出:
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
- 样例输入:
401 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 1950203010403
- 样例输出:
02 刘唐 男 2303 张军 男 1901 李江 男 2104 王娜 女 1903 张军 男 19
234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 # include<iostream>using namespace std; //# include<algorithm># include<string># include<map>/*int main(){ int n; while (cin >> n) { } return 0;}*/ struct Stu{ string number; string name; string sex; int age;};int main(){ int n, m, i, j, k; map<string, Stu> stu; Stu t; string number[10001]; while (cin >> n) { for (i = 1; i <= n; i++) { cin >> t.number >> t.name >> t.sex >> t.age; stu[t.number] = t; } cin >> m; for (i = 1; i <= m; i++) { cin >> number[i]; } for (i = 1; i <= m; i++) { map<string, Stu>::iterator it = stu.find(number[i]); if (it == stu.end()) { cout << "No Answer!" << endl; } else { t= it->second; cout << t.number << " " << t.name << " " << t.sex << " " << t.age << endl; } } } return 0;}/************************************************************** Problem: 1069 User: mmcNuaa@163.com Language: C++ Result: Accepted Time:130 ms Memory:1928 kb****************************************************************/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。