加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

PAT A1083 List Grades

发布时间:2020-12-14 00:21:12 所属栏目:Linux 来源:网络整理
导读:PAT A1083 List Grades 题目描述: Given a list of N student records with name,ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order,and output those student records of which the grades are in a

PAT A1083 List Grades

题目描述:

  Given a list of N student records with name,ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order,and output those student records of which the grades are in a given interval.

  Input Specification:
  Each input file contains one test case. Each case is given in the following format:
  N
  name[1] ID[1] grade[1]
  name[2] ID[2] grade[2]
  ... ...
  name[N] ID[N] grade[N]
  grade1 grade2
  where name[i] and ID[i] are strings of no more than 10 characters with no space,grade[i] is an integer in [0,100],grade1 and grade2 are the boundaries of the grade‘s interval. It is guaranteed that all the grades are distinct.

  Output Specification:
  For each test case you should output the student records of which the grades are in the given interval [grade1,grade2] and are in non-increasing order. Each student record occupies a line with the student‘s name and ID,separated by one space. If there is no student‘s grade in that interval,output NONE instead.

  Sample Input 1:
  4
  Tom CS000001 59
  Joe Math990112 89
  Mike CS991301 100
  Mary EE990830 95
  60 100

  Sample Output 1:
  Mike CS991301
  Mary EE990830
  Joe Math990112

  Sample Input 2:
  2
  Jean AA980920 60
  Ann CS01 80
  90 95

  Sample Output 2:
  NONE

参考代码:

 1 /****************************************************
 2 PAT A1083 List Grades
 3 ****************************************************/
 4 #include <iostream>
 5 #include <algorithm>
 6 #include <vector>
 7 
 8 using namespace std;
 9 
10 struct stuInfo {
11     string name;
12     string stuId;
13     int grade;
14 };
15 
16 bool myCmp(stuInfo a,stuInfo b) {
17     return a.grade > b.grade;
18 }
19 
20 int main() {
21     int stuCnt = 0,searchLeft = 0,searchRight = 0,printStuCnt = 0;
22 
23     cin >> stuCnt;
24 
25     vector<stuInfo> scoreList(stuCnt);
26     for (int i = 0; i < stuCnt; ++i) {
27         cin >> scoreList[i].name >> scoreList[i].stuId >> scoreList[i].grade;
28     }
29 
30     sort(scoreList.begin(),scoreList.end(),myCmp);
31 
32     cin >> searchLeft >> searchRight;
33 
34     for (int i = 0; i < stuCnt; ++i) {
35         if (scoreList[i].grade >= searchLeft && scoreList[i].grade <= searchRight) {
36             if (printStuCnt != 0) cout << endl;
37 
38             cout << scoreList[i].name <<   << scoreList[i].stuId;
39 
40             ++printStuCnt;
41         }
42     }
43 
44     if (printStuCnt == 0) cout << "NONE";
45 
46     return 0;
47 }

注意事项:

  无。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读