PAT_A1036
PAT甲级1036.
目录
A1036
题目
样例
样例1
输入:
3
Joe M Math990112 89
Mike M CS991301 100
Mary F EE990830 95
输出:
Mary EE990830
Joe Math990112
6
样例2
输入:
1
Jean M AA980920 60
输出:
Absent
Jean AA980920
NA
思路和坑点
使用两个结构体分别存储男生和女生要求的最低分和最高分个人信息,然后最后按照要求输出,初始化的时候把名字初始化为空字符,这样有利于最后判别是否有该类型的个体,并按照要求输出。
AC代码
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
string name,id; //学生结构体
int score;
node(){
name=""; //姓名初始化为空字符,用于最后的判定
}
}Node;
int main(void){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt","r",stdin);
#endif
Node m,w;
m.score=101;w.score=-1;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
Node temp;
string tag;
cin>>temp.name>>tag>>temp.id>>temp.score; //读入并按照性别记录
if(tag=="F"){
if(temp.score>w.score)
w=temp;
}
else{
if(temp.score<m.score)
m=temp;
}
}
if(w.name=="") puts("Absent"); //判定输出
else cout<<w.name<<' '<<w.id<<'\n';
if(m.name=="") puts("Absent");
else cout<<m.name<<' '<<m.id<<'\n';
if(w.name==""||m.name=="") puts("NA");
else cout<<(w.score-m.score);
return 0;
}