源代码:
#include <stdio.h>
struct person{
char name[15];
char ID[15];
int score;
}M,F,temp;
void init(){
M.score=101;
F.score=-1;
}
int main(){
init();
int n;
char gender;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%s %c %s %d",temp.name,&gender,temp.ID,&temp.score);
if(gender=='M'&&temp.score<M.score){
M=temp;
}
else if(gender=='F'&&temp.score>F.score){
F=temp;
}
}
if(F.score==-1) printf("Absent\n");
else printf("%s %s\n",F.name,F.ID);
if(M.score==101) printf("Absent\n");
else printf("%s %s\n",M.name,M.ID);
if(F.score==-1||M.score==101) printf("NA\n");
else printf("%d\n",F.score-M.score);
return 0;
}
tips:
1.定义结构体类型person,存放姓名,ID,分数,并设结构体变量M表示男生最低分数获得者,初始化为101,F表示女生最高分数获得者,初始化为-1
总体来说,本题不难,和上一题有类似之处,要掌握好结构体的定义