Description
在若干名学生中,寻找指定学号的学生的姓名。
Input
第一行N>0是一个整数,表示有N个学生。之后的N行,每行包括1个整数和1个字符串,整数是学生的学号,字符串是学生的姓名(不含空白符)。
之后输入的若干行,每行是一个整数,表示要查找的学生的学号。
Output
每个输入的要查找的学号,对应一行输出,即该学号对应的学生的姓名。如果学号不存在,则输出“NULL”。
Sample Input
101 TOM02 TOM13 TOM24 TOM35 TOM46 TOM57 TOM68 TOM79 TOM810 TOM931165
Sample Output
TOM2NULLTOM5TOM4
HINT
注意:
1. 不能使用数组,即程序中不能出现[、]和new。
2. map类有个find方法可以用于查找指定键值对应的元素,本程序可用该方法。
Append Code
#include <iostream>
#include <map>
using namespace std;
int main()
{
int n,id;
map<int,string> stu;
map<int,string>::iterator itr;
string name;
cin >> n;
for(int i = 0;i < n;i++)
{
cin >> id >> name;
stu.insert(make_pair(id,name));
}
int s,flag = 0;
while(cin >> s)
{
flag = 0;
for(itr = stu.begin();itr != stu.end();itr++)
{
if(itr->first == s)
{
cout << itr->second << endl;
flag = 1;
break;
}
}
if(!flag)
{
cout << "NULL" << endl;
}
}
return 0;
}