总时间限制:
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,最后在同学的解答下才发现错在哪。