输入样例:

14 60 80
10000001 64 90
10000002 90 60
10000011 85 80
10000003 85 80
10000004 80 85
10000005 82 77
10000006 83 76
10000007 90 78
10000008 75 79
10000009 59 90
10000010 88 45
10000012 80 100
10000013 90 99
10000014 66 60
 

输出样例:

12
10000013 90 99
10000012 80 100
10000003 85 80
10000011 85 80
10000004 80 85
10000007 90 78
10000006 83 76
10000005 82 77
10000002 90 60
10000014 66 60
10000008 75 79
10000001 64 90

一个不太理想的结果。。。

 1 #include <iostream>
2 #include <algorithm>
3 #include <vector>
4 #include <string>
5
6 using namespace std;
7
8 struct Student
9 {
10 string id;//考号
11 int Dscore,Cscore,total;//德分 才分 总分
12 int classes;
13 };
14
15
16 bool cmp(Student &s1,Student &s2)
17 {
18 if(s1.classes == s2.classes)
19 {
20 if(s1.total == s2.total)
21 {
22 if(s1.Dscore == s2.Dscore)
23 {
24 return s1.id < s2.id; //比较id
25 }else
26 {
27 return s1.Dscore > s2.Dscore;
28 }
29 }else
30 {
31 return s1.total > s2.total;
32 }
33 }else
34 {
35 return s1.classes < s2.classes;
36 }
37 }
38
39 int main()
40 {
41 int stu_num,Lscore,Hscore;
42 cin >> stu_num >> Lscore >> Hscore;
43
44 //第一类考生 德才全尽 第二类 德胜才 第三类 才德兼亡但尚有德胜才 第四类 其他
45 vector<Student> stu;
46 for(int i = 0;i < stu_num;++i)
47 {
48 Student s;
49 cin >> s.id >> s.Dscore >> s.Cscore;
50 s.total = s.Dscore+s.Cscore;
51
52 if(s.Dscore >= Lscore &&s.Cscore >= Lscore)
53 {
54 if(s.Dscore >= Hscore &&s.Cscore >= Hscore)
55 {//第一类考生
56 s.classes = 1;
57 }else if(s.Cscore < Hscore && s.Dscore >= Hscore)
58 {
59 s.classes = 2;
60 }else if(s.Cscore < Hscore && s.Dscore < Hscore && s.Dscore >= s.Cscore)
61 {
62 s.classes = 3;
63 }else
64 {
65 s.classes = 4;
66 }
67 stu.push_back(s);
68 }
69 }
70 //排序
71 cout << stu.size() << endl;
72 sort(stu.begin(),stu.end(),cmp);
73 for(int i = 0;i < stu.size();++i)
74 {
75 cout << stu[i].id << " "
76 << stu[i].Dscore << " "
77 << stu[i].Cscore << endl;
78 }
79 return 0;
80 }

C++ 德才论的更多相关文章

  1. PAT 1015. 德才论 (25) JAVA

    宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...

  2. PAT 1015. 德才论 (25)

    宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...

  3. PAT乙级 1015. 德才论 (25)

    1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Li 宋代史学家司马光在<资治通鉴&g ...

  4. PAT1015—— 德才论

    宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...

  5. PAT-乙级-1015. 德才论 (25)

    1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Li 宋代史学家司马光在<资治通鉴&g ...

  6. 浙江大学PAT上机题解析之1015. 德才论 (25)

    宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...

  7. 【PAT】B1015 德才论

    这道题算是挺简单,我在群里看到的别人琢磨好久过不去,大多是因为没有考虑好四种等级的判断条件 一定要保证四种判断条件正确. 下面这是我的代码,比较笨.后边有别人那学来的聪明些的方法 #include&l ...

  8. PAT B1015 德才论 (25 分)

    宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...

  9. PAT 1015 德才论 (25)(代码+思路)

    1015 德才论 (25)(25 分)提问 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子, ...

  10. 【PAT】1015 德才论 (25)(25 分)

    1015 德才论 (25)(25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得 ...

随机推荐

  1. openssh 7.4 升级 8.3

    1.删除旧版本(如果是远程连接升级,不能卸载旧版本,否则连接会断开.安装8.3完也不能卸载7.4,否则要到服务器直连重新安装8.3.) # rpm -qa |grep openssh #rpm -e ...

  2. 说Redis

    一:简单介绍 Redis(Remote Dictionary Server 远程字典服务器) key-value 内存数据库 key是一个string value可以是string,list,hash ...

  3. Socket `accept queue is full ` 但是一个连接需要从SYN->ACCEPT

    由于标题长度有限制,我把想要描述的问题再次描述下: 内核通常会为每一个LISTEN状态的Socket维护两个队列: 1 accept队列: listen()函数第二个参数BACKLOG指定,表示已完成 ...

  4. Linux下软链接与硬链接的区别

    由于下面会说到inode,所以如果没有了解过,请务必搞懂inode的真正含义,厚颜无耻的推荐我的一篇博客:Linux磁盘与文件系统管理 如果我们在系统中新建一个文件,我们看到的文件名实际上只是表面现象 ...

  5. 攻防世界 WEB 高手进阶区 XCTF Web_python_template_injection Writeup

    攻防世界 WEB 高手进阶区 XCTF Web_python_template_injection Writeup 题目介绍 题目考点 SSTI模板注入漏洞 Writeup 知识补充 模板注入:模板引 ...

  6. 攻防世界 WEB 高手进阶区 PHP2 Writeup

    攻防世界 WEB 高手进阶区 PHP2 Writeup 题目介绍 题目考点 url 二次解码 index.phps 文件(第一次使用dirsearch可能扫不到,需要加到工具字典里) php 简单语法 ...

  7. LeetCode88 合并有序数组

    1. 这道题为简单题目,但是还有需要好好思考的 2. 首先不能使用额外数组合并,不然就没得后文了 3. nums1后面有0填充,且填充数量正好是n,整个数组大小即m+n能够容纳合并后的数据 4.既然要 ...

  8. Vue 之 Mixins (混入)的使用

    是什么 混入 (mixins): 是一种分发 Vue 组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被合并到组件本身,也就是说父组件调用混入 ...

  9. Python基础(获取对象信息)

    import types print(type('abc') == str)#True print(type(123) == int)#True def f1(): pass print(type(f ...

  10. vue自定义指令实例使用(实例说明自定义指令的作用)

    在写vue项目的时候,我们经常需要对后台返回的数据进行大量的渲染操作,其中就包含了大量的对特殊数据的进一步处理,比如说时间戳.图片地址.特殊数据显示等等特殊数据处理改进. 其实遇到这种情况,通过Vue ...