sdnu1182.奖学金
来源:互联网 发布:便笺软件 编辑:程序博客网 时间:2024/04/30 12:00
1182.奖学金
Time Limit: 1000 MS Memory Limit: 32768 KB
Total Submission(s): 162 Accepted Submission(s): 64
Description
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。
任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分) 是:
7 279
5 279
这两行数据的含义是:总分最高的两个同学的学号依次是7号、5号。这两名同学的总分都是 279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为7的学生语文成绩更高一些。如果你的前两名的输出数据是:
5 279
7 279
则按输出错误处理,不能得分。
Input
输入包含n+1行:
第1行为一个正整数n(6<=n<=300),表示该校参加评选的学生人数。
第2到n+1行,每行有3个用空格隔开的数字,每个数字都在O到100之间z第1行的3个数 字依次表示学号为j-1的学生的语文、数学、英语的成绩。每个学生的学号按照输入顺序编号为l~n (恰好是输入数据的行号减1)。
所给的数据都是正确的,不必检验。
Output
输出共有5行,每行是两个用空格隔开的正整数,依次表示前5名学生的学号和总分。
Sample Input
6
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98
Sample Output
6 265
4 264
3 258
2 244
1 237
Source
NOIP 2007 普及组
#include<cstdio>using namespace std;#include<algorithm>#include<iostream>#define r 301struct student{ int a,b,c,s,number;}stu[r];bool cmp(student aaa,student bbb){ if(aaa.s>bbb.s) return true; else if(aaa.s==bbb.s&&aaa.a>bbb.a) return true; else if(aaa.s==bbb.s&&aaa.a==bbb.a&&aaa.number<bbb.number) return true; else return false;}int main(){ int x,i;// int t,d; scanf("%d",&x); for(i=0; i<x; i++) { scanf("%d %d %d",&stu[i].a,&stu[i].b,&stu[i].c); stu[i].s=stu[i].a+stu[i].b+stu[i].c; stu[i].number=i+1; } sort(stu,stu+x,cmp);// for(i=0; i<x; i++)// {// if(stu[i].s==stu[i+1].s)// {// if(stu[i].a<stu[i].a)// {// d=stu[i].a;// stu[i].a=stu[i+1].a;// stu[i+1].a=d;// }// if(stu[i].a==stu[i+1].a)// {// if(stu[i].number<stu[i+1].number)// {// t=stu[i].number;// stu[i].number=stu[i+1].number;// stu[i+1].number=t;// }// }// }// } for(i=0; i<5; i++) { printf("%d %d\n",stu[i].number, stu[i].s); } return 0;}
我是个笨蛋 要求用结构体排序。。。 我一开始不会 是用sort加冒泡排序。。。注释掉的那一部分。。。就是我犯蠢的记录。。。
- sdnu1182.奖学金
- SDNU1182.奖学金【很水】
- 奖学金~~~~
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 奖学金
- 在unity中创建python机器学习环境
- 【NOIP考前题目回顾】Luogu P1001
- 把网页内容转换为 PDF
- C# 理解lock
- 稀疏结构模型——套索模型、组套索、重叠组套索模型
- sdnu1182.奖学金
- HTML基础 网页结构基础3
- num++和++num在逗号表达式中的计算顺序
- 图的顺序表存储
- 时间管理
- 在MyEclipse2013中使用Maven开发项目(结合MyBatis)
- spring声明式事务管理
- IT界的圣经———《失控 》
- 区间上的凸函数定义