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 }注意事项:
无。
总结以上是内存溢出为你收集整理的PAT A1083 List Grades全部内容,希望文章能够帮你解决PAT A1083 List Grades所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)