P1903 奖学金题解
众所周知,这是一道通过struct结构体进行排序的题目
思路:平常的输入。。
然后定义一个结构体grade,存放每个学生的学号、三科成绩、(也可以只存语文成绩和总分和学号)
自定义cmp函数,通过三层判断来确定排序的先后顺序,然后输出前五个学生
易错点:
1.把学号当编号存而不是存入结构体里面,这样在sort之后就重新改变学号了,学号和人就不对应了
2.在定义cmp时搞错顺序(大于小于号)
上AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
struct grade{
int chinese,math,eng,xuehao;//都能读懂什么意思吧
}human[];//people也可以
inline bool cmp0(grade a,grade b){//核心cmp0
if(a.chinese+a.math+a.eng!=b.chinese+b.eng+b.math)
//在不相等情况下的话 执行下一行程序,无论是大于还是小于都不执行
return a.chinese+a.math+a.eng>b.chinese+b.eng+b.math;
else if(a.chinese!=b.chinese)return a.chinese>b.chinese;
//在总分相等的情况下执行这个判断,如果语文成绩不相等的话执行按语文成绩从大到小排序
else return a.xuehao<b.xuehao;//如果语文相等,就按学号从小到大排序
//为什么这里多一个从小到大...好坑人
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d%d%d",&human[i].chinese,&human[i].math,&human[i].eng);
human[i].xuehao=i;
}
sort(human+,human++n,cmp0);
for(int i=;i<=;i++)
printf("%d %d\n",human[i].xuehao,human[i].chinese+human[i].eng+human[i].math);
return ;
}
完结撒花✿✿ヽ(°▽°)ノ✿
希望对各位像我一样的蒟蒻有帮助
推荐一个呗
P1903 奖学金题解的更多相关文章
- Noip2005谁拿了最多的奖学金题解
题解 题目本身没什么好说的. 只是一道普及组的题让我领悟到scanf()读字符的真谛.scanf()函数最奇异的功能就是控制串里除格式化字符串之外的字符.若匹配成功则舍去. 所以我们能够"精 ...
- NOIP2007奖学金题解——洛谷1093
题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高 ...
- Codeforces Round #280 (Div. 2) C. Vanya and Exams 贪心
C. Vanya and Exams Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/492/pr ...
- URAL 2056 Scholarship 水题
ScholarshipTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.a ...
- 【luogu P1903 [国家集训队]数颜色】 题解
题目链接:https://www.luogu.org/problemnew/show/P1903 裸的...带修莫队... 比较麻烦吧(对我来说是的) 两个变量分开记录查询和修改操作. #includ ...
- 洛谷题解 P1051 【谁拿了最多奖学金】
其实很水 链接: P1051 [谁拿了最多奖学金] 注意: 看好信息,不要看漏或看错因为信息很密集 AC代码: 1 #include<bits/stdc++.h>//头文件 2 using ...
- 【排序】题解_P1093奖学金
题目描述 奖学金 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文 ...
- 题解 洛谷P1903/BZOJ2120【[国家集训队]数颜色 / 维护队列】
对于不会树套树.主席树的本蒟蒻,还是老老实实的用莫队做吧.... 其实这题跟普通莫队差不了多远,无非就是有了一个时间,当我们按正常流程排完序后,按照基本的莫队来,做莫队时每次循环对于这一次操作,我们在 ...
- P1093 奖学金
奖学金 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文 ...
随机推荐
- 阶段3 2.Spring_10.Spring中事务控制_8 spring基于纯注解的声明式事务控制
新建项目 把之前项目src下的内容全部复制过来 pom.xml内复制过来 开始配置 新建一个config的包,然后再新建配置文件类SpringConfiguration @Configuration这 ...
- rocketmq的一些内容
分布式开放消息系统(RocketMQ)的原理与实践 作者 CHEN川 关注 2016.02.25 15:43* 字数 6784 阅读 122302评论 41喜欢 321赞赏 7 一年前为了一次内部分享 ...
- linux创建软链接
linux软链接linux下的软链接类似于windows下的快捷方式实例:ln -s /home/gamestat /gamestatln -s a b 中的 a 就是源文件,b是链接文件名,其 ...
- Object Creation
Although using the object constructor or an object literal are convenient ways to create single obje ...
- Docker安装报错
这是由于overlay2不支持造成的,所以我们要关闭它. 解决办法: vim /etc/sysconfig/docker (修改文件) DNS='--selinux-enabled --log- ...
- 修改了Mysql密码后连接不到服务且无报错信息解决方法以及修改密码方法
安装MYSQL后更改了root的密码后用 net start mysql 启动时出现:无法启动,无报错信息 使用以下命令:1.管理员方式cmd进入mysql安装目录的bin目录下2.执行命令:mysq ...
- POJ3585 Accumulation Degree【换根dp】
题目传送门 题意 给出一棵树,树上的边都有容量,在树上任意选一个点作为根,使得往外流(到叶节点,叶节点可以接受无限多的流量)的流量最大. 分析 首先,还是从1号点工具人开始$dfs$,可以求出$dp[ ...
- 简述Object(ActiveX)控件遮挡Dialog、select下拉框的解决办法
1.背景 最近在做项目的过程中,我们使用了Object控件,但是同时在上面写了一个select下拉框,因此每次点击下拉框的时候我们会发现,下拉框的部分内容被Object控件给遮挡了,调查研究后发现,我 ...
- value(C# )
上下文关键字 value 用在普通属性声明的 set 访问器中. 此关键字类似于方法的输入参数. 关键字 value 引用客户端代码尝试分配给属性的值. 在以下示例中,MyDerivedClass 有 ...
- windows qt 使用openssl API
1.下载安装openssl http://dl.pconline.com.cn/download/355862-1.html 版本: OpenSSL(Win32) 1.0.1g 2.配置QT项目文件, ...