PTA(Advanced Level)1036.Boys vs Girls
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 name, gender, ID 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
思路
- 跟之前的PTA(Basic Level)1028.人口普查仍旧有点像,不过这里要分男女情况来比较。不过比较的内容是分数,和之前相比算简单的了
 
代码
#include<bits/stdc++.h>
using namespace std;
struct student
{
	char name[20];
	char gender;
	char id[20];
	int grade;
}female_high, male_low;
void Init()
{
	female_high.grade = -1;
	male_low.grade = 110;
}
bool higher(student a, student b)
{
	return a.grade > b.grade;
}
int main()
{
	int n;
	Init();
	scanf("%d", &n);
	student tmp;
	while(n--)
	{
		scanf("%s %c %s %d", tmp.name, &tmp.gender, tmp.id, &tmp.grade);
		if(tmp.gender == 'M' && higher(male_low, tmp))
			male_low = tmp;
		if(tmp.gender == 'F' && higher(tmp, female_high))
			female_high = tmp;
	}
	bool absent = false;
	if(female_high.grade == -1)
	{
		printf("Absent\n");
		absent = true;
	}else printf("%s %s\n", female_high.name, female_high.id);
	if(male_low.grade == 110)
	{
		printf("Absent\n");
		absent = true;
	}else printf("%s %s\n", male_low.name, male_low.id);
	if(absent)
		printf("NA");
	else printf("%d", female_high.grade - male_low.grade);
	return 0;
}
引用
https://pintia.cn/problem-sets/994805342720868352/problems/994805453203030016
PTA(Advanced Level)1036.Boys vs Girls的更多相关文章
- PAT (Advanced Level) 1036. Boys vs Girls (25)
		
简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...
 - 1036 Boys vs Girls (25 分)
		
1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade of ...
 - PAT 1036 Boys vs Girls[简单]
		
1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade of ...
 - PAT 甲级 1036 Boys vs Girls (25 分)(简单题)
		
1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade ...
 - PAT 1036 Boys vs Girls (25 分)
		
1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade ...
 - PAT甲级——1036 Boys vs Girls
		
1036 Boys vs Girls This time you are asked to tell the difference between the lowest grade of all th ...
 - 1036 Boys vs Girls (25分)(水)
		
1036 Boys vs Girls (25分) This time you are asked to tell the difference between the lowest grade o ...
 - PAT甲级:1036 Boys vs Girls (25分)
		
PAT甲级:1036 Boys vs Girls (25分) 题干 This time you are asked to tell the difference between the lowest ...
 - PAT (Advanced Level) Practice 1036 Boys vs Girls (25 分)
		
This time you are asked to tell the difference between the lowest grade of all the male students and ...
 
随机推荐
- yii 上传视频(ajax)
			
实现一个功能:提交表单的时候,需要上传视频,把视频上传到oss上,然后把url作为表单值传到后端保存到数据库.需要ajax异步实现. 遇到了一个这样报错:Bad Request: 您提交的数据无法被验 ...
 - jquery selected选择器 语法
			
jquery selected选择器 语法 作用::selected 选择器选取被选择的 <option> 元素.直线电机生产厂家 语法:$(":selected") ...
 - APP技术选型
 - Git入门学习和使用
			
#开篇废话 开篇废话又回来了,离开博客算是有一年了,之间曾经痛下很多次决心,继续写博客,后来都失败了,前年为了申请个CSDN专家,每天发博客,那个高产的状态,现在已然不行了,时过境迁,当时为了吃口饱饭 ...
 - JavaWeb_(Hibernate框架)Hibernate中重要的api
			
Hibernate中重要的api Configuration SessionFactory Session(重点) Transaction 在Dao层中UserDao.java使用Hibernate向 ...
 - js基础( js嵌入方式、输出语句)
			
s现在的作用 1.验证表单(以前的网速慢) 2.页面特效 (PC端的网页效果) 3.移动端 (移动 web 和app) 4.异步和服务器交互(ajax) 5.服务器端开发 (nodejs) ...
 - Vue2实践computed监听Vuex中state对象中的对象属性时发生的一些有趣经历
			
今天想实现一个功能,在全局中随时改变用户的部分信息.这时候就想到了用Vuex状态控制器来存储用户信息,在页面中使用computed来监听用户这个对象.看似一个很简单的逻辑,就体现了我基本功的不扎实呀. ...
 - Linux :vim 模式下的常用命令
			
[参考文章]:vim 复制一整行 复制多行 1. 查找命令 ?text 查找text,按n健查找下一个,按N健查找前一个 /text 反向查找text,按n健查找下一个,按N健查找前一个 ...
 - OGG-00446 分析与解决
			
OGG-00446 分析与解决 Table of Contents 1. 00446 1.1. Missing filename opening checkpoint file 1.1.1. 错误信息 ...
 - SQLSERVER大批量数据快速导入Redis
			
目的 把单表近5千万的某单个字段导入到Redis,作为一个list存储. 方案一: 使用sqlcmd工具(sqlserver自带),直接生成命令在Redis-cli中执行. 方案一. 使用sqlcmd ...