1147:最高分数的学生姓名
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 14826 通过数: 10512
【题目描述】
输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。
【输入】
第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下:
分数 姓名
分数是一个非负整数,且小于等于100;
姓名为一个连续的字符串,中间没有空格,长度不超过20。
数据保证最高分只有一位同学。
【输出】
获得最高分数同学的姓名。
【输入样例】
5
87 lilei
99 hanmeimei
97 lily
96 lucy
77 jim
【输出样例】
hanmeimei
【参考代码】
C代码:
#include <stdio.h>
#include <string.h>
#define N 30
char max_name[N],name[N];
int main()
{
int max_number=-1,number,n;
scanf("%d",&n);
while(n--)
{
scanf("%d %s",&number,name);
if(number>max_number)
{
max_number=number;
strcpy(max_name,name);
}
}
printf("%s\n",max_name);
return 0;
}
C++代码:
#include <iostream>
#include <string>
using namespace std;
const int N=110;
struct node
{
int score;
string name;
}stu[N],maxname;
int main()
{
int i,n;
cin >> n;
for(i=0;i<n;i++)
cin >> stu[i].score >> stu[i].name;
maxname.score=stu[0].score;
maxname.name=stu[0].name;
for(int i=1;i<n;i++)
{
if(stu[i].score>maxname.score)
maxname=stu[i];
}
cout << maxname.name;
return 0;
}
http://ybt.ssoier.cn:8088/problem_show.php?pid=1147