太简单了,就不说了,将男生组和女生组排序,取女生组最高分和男生组最低分。
AC代码:
//1036 16:16 - 16:44
#include<stdio.h>
#include<algorithm>
using namespace std;
const int MAXN=1005;
struct student
{
char name[14];
char gender;
char sid[14];
int grade;
}female[MAXN];
student male[MAXN];
bool cmp(const student &a, const student &b)
{
return a.grade < b.grade;
}
int main()
{
int n,i;
char sname[14],stuid[14];
char sgender;
int gra;
student s;
int fg=0;
int num1=0,num2=0;
//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);
scanf("%d",&n);
for(i=0;i<n;i++){
getchar();
scanf("%s %c %s%d",&s.name,&s.gender,&s.sid,&s.grade);
if(s.gender=='M'){
male[num1++]=s;
} else
female[num2++]=s;
}
sort(male,male+num1,cmp);
sort(female,female+num2,cmp);
if(num2==0){
printf("Absent\n");
fg=1;
}else {
printf("%s %s\n",female[num2-1].name,female[num2-1].sid);
}
if(num1==0){
printf("Absent\n");
fg=1;
} else {
printf("%s %s\n", male[0].name,male[0].sid);
}
if(fg==1)
printf("NA\n");
else
printf("%d\n", female[num2-1].grade-male[0].grade);
return 0;
}