【算法筆記】A1036 Boys vs Girls
https://pintia.cn/problem-sets/994805342720868352/problems/994805453203030016
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?gradeF?gradeM. 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
思路:題意大概就是在第一行輸入學(xué)生人數(shù),后面幾行輸入學(xué)生的姓名,性別,學(xué)號(hào),成績(jī)
輸出男生的最低分,女生的最高分,最低分與最高分的差值
如果沒有男生或者女生輸出Absent,成績(jī)差輸出NA
首先我們寫一個(gè)結(jié)構(gòu)體Student,里面有學(xué)生的姓名,學(xué)號(hào),成績(jī)。令Studeng結(jié)構(gòu)體變量M表示男生的最低分,F(xiàn)表示女生的最高分,temp表示輸入的成績(jī)。
輸入的成績(jī)?nèi)绻悄猩?,并且成?jī)比M低,則覆蓋M,女生同理。