【问题描述】
设有若干名学生,每个学生的信息包括:学号、姓名、英语成绩,请先定义结构体类型,在main函数中输入这些学生的信息,然后编写函数找出最高分和最低分的学生,并输出他们的姓名,姓名之间用2个空格隔开。若有多个最高分,则输出第一个最高分学生的姓名;若有多个最低分,则输出第一个最低分学生的姓名。
注意:必须按上面的要求完成程序。
【输入形式】测试数据只有一组,第一行是学生人数n(1<=n<=100);后跟n行数据,每行是一个学生的信息,包括学号、姓名和分数,它们之间由一个空格分隔。姓名中不含空格,且不超过15个字符。
【输出形式】输出结果占一行,仅包括最高分和最低分学生的姓名,姓名之间由两个空格分隔。
【样例输入】
6 201501 Mike 93 201502 Jenny 88 201503 Alex 90 201504 Marry 76 201505 John 82 201506 Tracy 96
【样例输出】
Tracy Marry
#include<stdio.h>
#include<string.h>
struct student
{
char num[20];
char name[20];
int score;
}stu[100],top,low;
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %s %d",stu[i].num,stu[i].name,&stu[i].score);
}//输入
top=low=stu[0];//结构体之间可以相互赋值
for(i=1;i<n;i++)
{
if(top.score<stu[i].score)//比较分数
{
top=stu[i];//交换结构体
}
if(low.score>stu[i].score)
{
low=stu[i];
}
}
printf("%s %s",top.name,low.name);
return 0;
}