题目 数学老师小y 想写一个成绩查询系统,包含如下指令: 1.insert [name] [score],向系统中插入一条信息,表示名字为name的学生的数学成绩为score。 2.find [name],表示查找名字为name的学生的数学成绩。 注意有些同学可能会为了刷分多次选课,查询的时候给出最大成绩即可。学生的名字是由小写字母组成。成绩是一个 0 \ldots 1000…100 的整数。 老师找到你,想你帮他完成这个系统。 输入格式 输入若干行,每行都是insert [name] [score]或者find [name]的形式,或一行end表示输入结束。输入行数不大于 1000,每个学生名字长度不大于 20 个字符。 输出格式 对于每个查询,输出查询的学生的最高成绩,如果系统中不存在该学生,输出 -1。
思路:用map容器,进行一一对应
#include<iostream>
#include<map>
using namespace std;
int main()
{
map<string, int>mp;
string s1,s2;
int score;
while (1)
{
cin>>s1;
if(s1=="insert")
{
cin>>s2>>score;
if(score>mp[s2])
mp[s2]=score;
}
else if(s1=="find")
{
cin>>s2;
if(mp[s2]==0)
cout<<"-1"<<endl;
else
cout<<mp[s2]<<endl;
}
else if(s1=="end")
{
break;
}
}
return 0;
}