02:输出最高分数的学生姓名
总时间限制:
1000ms
内存限制:
65536kB
描述
输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。
输入
第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下:
分数 姓名
分数是一个非负整数,且小于等于100;
姓名为一个连续的字符串,中间没有空格,长度不超过20。
数据保证最高分只有一位同学。
输出
获得最高分数同学的姓名。
样例输入
5 87 lilei 99 hanmeimei 97 lily 96 lucy 77 jim
样例输出
hanmeimei
思路:先输入n,再设立两个数组。一个字符串数组,一个整型数组。进行按要求输入。再将整型数组里面的数进行大小判断,用k接受最大的数的下标。最后输出下标为k的字符串。
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[200];
char b[200][30];
int i,k=0;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
scanf("%s",b[i]);
}
int max=0;
for(i=0;i<n;i++){
if(a[i]>=max){
max=a[i];
k=i;
}
}
printf("%s",b[k]);
return 0;
}
这里要注意的是数组空间要设大一点,不要压着题目的最大空间设。作者我就压着设就一直是9分wrong answer,最后在同学的解答下才发现错在哪。