题目描述
输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。
输入格式
第一行输入一个正整数 N(N≤100),表示学生人数。
接着输入 N 行,每行包括两个整数,代表分数姓名。
分数是一个非负整数,且小于等于 100;
姓名为一个连续的字符串,中间没有空格,长度不超过 20。
数据保证所有同学的姓名都不同,而且最高分只有一位同学。
输出格式
获得最高分数同学的姓名。
输入输出样例
输入 #1
5 87 lilei 99 hanmeimei 97 lily 96 lucy 77 jim
输出 #1
hanmeimei
说明/提示
hanmeimei 的分数最高 99 分。
源代码
#include <bits/stdc++.h>
using namespace std;
int n,f,s=-1;
char a[105],b[105];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>f;
cin.getline(a,30);
if(f>s)
{
s=f; //保存当前最高分数
strcpy(b,a); //保存人名
}
}
for(int i=1;i<strlen(b);i++)
{
cout<<b[i]; //输出名字
}
cout<<endl;
return 0;
}
测试点信息
总结
每次输入分数和名字都比较出当前最高的分数,全部输入完成后,输出最高的分数相对应的名字。