码迷,mamicode.com
首页 > 其他好文 > 详细

1080 MOOC期终成绩

时间:2020-02-25 17:37:13      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:nbsp   结构体   span   info   false   bsp   string   index   lag   

这是一道常规体了。

PAT乙级最后一道大题一般是 结构体+排序 +字符串+hash

 1 #include<iostream>
 2 #include<unordered_map>
 3 #include<algorithm>
 4 #include<cmath>
 5 using namespace std;
 6 
 7 struct Student {
 8     string id;
 9     int GP = -1,GM = -1,GF = -1,G = -1;
10     bool flag = false;//不合格
11 } stu[10010];
12 int num = 0;
13 bool cmp(const Student& a,const Student& b){
14     if(a.flag != b.flag) return a.flag > b.flag;
15     if(a.G != b.G) return a.G > b.G;
16     return a.id < b.id;
17 }
18 
19 int main() {
20     int p,m,n,GP,GM,GF;
21     cin>>p>>m>>n;
22     string id;
23     unordered_map<string,int> mp;
24     for(int i = 0; i < p; ++i) {
25         cin>>id>>GP;
26         if(GP >= 200) {//记录在线编程分大于等于200 的学生 
27             stu[num].id = id;
28             stu[num].GP = GP;
29             mp[id] = num;//保持学生id与index的映射关系 
30             num++;
31         }
32     }
33     for(int i = 0; i < m; ++i) {//输入学生期中成绩 
34         cin>>id>>GM;
35         if(mp.count(id) == 1)//学生参加过在线编程 
36             stu[mp[id]].GM = GM;
37     }
38     for(int i = 0; i < n; ++i) {//输入学生期末成绩 
39         cin>>id>>GF;
40         if(mp.count(id) == 1)//学生参加过在线编程 
41             stu[mp[id]].GF = GF;
42     }
43     for(int i = 0; i < num; ++i) {//标记 “合格” 学生 
44         if(stu[i].GM > stu[i].GF) stu[i].G = round(stu[i].GM*0.4 + stu[i].GF*0.6);
45         else stu[i].G = stu[i].GF;
46         if(stu[i].G >= 60) stu[i].flag = true;//合格 
47     }
48     sort(stu,stu+num,cmp); 
49     for(int i = 0; i < num;++i){
50         if(stu[i].flag == true){
51             printf("%s %d %d %d %d\n",stu[i].id.c_str(),stu[i].GP,stu[i].GM,stu[i].GF,stu[i].G);
52         }else break;
53     }
54     return 0;
55 }

技术图片

 

1080 MOOC期终成绩

标签:nbsp   结构体   span   info   false   bsp   string   index   lag   

原文地址:https://www.cnblogs.com/keep23456/p/12362533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!