1036 Boys vs Girls (25 分)
 

This time you are asked to tell the difference between the lowest grade of all the male students and the highest grade of all the female students.

Input Specification:

Each input file contains one test case. Each case contains a positive integer N, followed by N lines of student information. Each line contains a student's namegenderID and grade, separated by a space, where name and ID are strings of no more than 10 characters with no space, gender is either F(female) or M (male), and grade is an integer between 0 and 100. It is guaranteed that all the grades are distinct.

Output Specification:

For each test case, output in 3 lines. The first line gives the name and ID of the female student with the highest grade, and the second line gives that of the male student with the lowest grade. The third line gives the difference grade​F​​−grade​M​​. If one such kind of student is missing, output Absent in the corresponding line, and output NA in the third line instead.

Sample Input 1:

3
Joe M Math990112 89
Mike M CS991301 100
Mary F EE990830 95

Sample Output 1:

Mary EE990830
Joe Math990112
6

Sample Input 2:

1
Jean M AA980920 60

Sample Output 2:

Absent
Jean AA980920
NA

题解:

要注意absent的顺序

题目大意: 给N个学生的成绩、名字、ID和分数,还有性别(gender)。分别找出男孩子分数最低和女孩子分数最高的,打印名字和ID,然后求两者的成绩差,如果某一方不存在,那么打印Absent,分数差值为NA。

AC代码:

#include<bits/stdc++.h>
using namespace std;
string nm;
char ge;
string id;
int grade;
int n;
int main(){
int n;
cin>>n;
string fn="",mn="";
string fid,mid;
int fg=-,mg=;
for(int i=;i<=n;i++)
{
cin>>nm>>ge>>id>>grade;
if(ge=='F'){
if(grade>fg){
fg=grade;
fn=nm;
fid=id;
}
}
if(ge=='M'){
if(grade<mg){
mg=grade;
mn=nm;
mid=id;
}
}
}
if(fg<){
cout<<"Absent"<<endl;//注意absent的顺序
cout<<mn<<" "<<mid<<endl;
cout<<"NA";
}
else if(mg>){
cout<<fn<<" "<<fid<<endl;
cout<<"Absent"<<endl;//注意absent的顺序
cout<<"NA"<<endl;
}else{
cout<<fn<<" "<<fid<<endl;
cout<<mn<<" "<<mid<<endl;
cout<<fg-mg<<endl;
}
return ;
}

最新文章

  1. Android视频
  2. VC++全局变量初始化
  3. android操作sdcard中的多媒体文件(一)——音乐列表的制作
  4. 多线程程序设计学习(6)Producer-Consumer模式
  5. nginx-rrd监控nginx访问数
  6. 工作总结:MFC使用Windows自带打开对话框
  7. Android调试系列—使用android studio调试smali代码
  8. hdu 3829 Cat VS Dog 二分匹配 最大独立点集
  9. 编程题:利用for循环打印 9*9 表?
  10. leetcode 之 Two Sum II - Input array is sorted c++
  11. Typescript学习笔记(一)基础类型
  12. 【转载】IntelliJ IDEA 内存优化最佳实践
  13. js 判断字符串中是否包含某个字符串(转载)
  14. POJ2104 K-th Number(整体二分)
  15. AngularJs(SPA)单页面SEO以及百度统计应用(下)
  16. java IO之File基本操作
  17. Daily Scrum8
  18. delphi怎样单步调试
  19. 使用0填充string(构造类似‘00001’的字符串)
  20. zookeeper Java API 简单操作示例

热门文章

  1. 0022SpringMVC解决post请求中文乱码的问题
  2. TOMCAT 请求HTTP原理
  3. Ajax使用方法
  4. NOI2008 志愿者招募 (费用流)
  5. SIGAI机器学习第十六集 支持向量机3
  6. [NOIP 2018]旅行
  7. 洛谷 P2863 [USACO06JAN]牛的舞会The Cow Prom 题解
  8. 关于request.getServletPath(),request.getContextPath()的总结
  9. mybatis执行insert后马上能获取自增主键的语句写法
  10. nginx + keepalived双活配置