02:输出最高分数的学生姓名

描述
输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。

输入
第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下:
分数 姓名
分数是一个非负整数,且小于等于100;
姓名为一个连续的字符串,中间没有空格,长度不超过20。
数据保证最高分只有一位同学。
输出
获得最高分数同学的姓名。
样例输入
5 87 lilei 99 hanmeimei 97 lily 96 lucy 77 jim

样例输出
hanmeimei


第一次程序;

#include int b,c,x,f=1,d; char a[21],y[21]; int main() { scanf("%d",&b); for(int i=1; i<=b; i++) { scanf("%d",&c); if(x<=c)错误处 { f=0; d=1; x=c; scanf(" %c",&y[d]); while(y[d]!='\n') { f++; d++; scanf("%c",&y[d]); } } } for(int i=1; i<=f; i++) printf("%c",y[i]); }

错在---如果x>c,则不进入输入名字的循环 【02:输出最高分数的学生姓名】
第二次程序;

#include int b,c,x,f=1,d; char a[21],y[21]; int main() { scanf("%d",&b); for(int i=1; i<=b; i++) { scanf("%d",&c); if(x>c)修改处 { scanf(" %c",&a[d]); while(a[d]!='\n') { d++; scanf("%c",&a[d]); } } if(x<=c) { f=0; d=1; x=c; scanf(" %c",&y[d]); while(y[d]!='\n') { f++; d++; scanf("%c",&y[d]); } } } for(int i=1; i<=f; i++) printf("%c",y[i]); }

这就改正了第一次的问题。


    推荐阅读