信息学奥赛一本通T1179-奖学金-题解(C++代码) 注意当人数不足5人的情况#include#includeusingnamespacestd;constintN=300;voidswap(int*a,int*b){inttemp;temp=*a,*a=*b,*b=temp;}intmain(){inta[N][5]={0};//语数外总分学号intn 题解列表 2020年02月14日 0 点赞 0 评论 1317 浏览 评分:8.9
信息学奥赛一本通T1179-奖学金-题解(C++代码) 摘要:千万别忘记考虑当ny.sum; } if(x.score[0]!=y.score[0]){ return x.score[0]>y.score[0]; } return x.s…… 题解列表 2020年02月14日 0 点赞 0 评论 1580 浏览 评分:6.0
信息学奥赛一本通T1179-奖学金-题解(C++代码) 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。 题解列表 2020年02月14日 1 点赞 0 评论 1275 浏览 评分:9.0
信息学奥赛一本通T1179-奖学金-题解(Python代码) ```python#输入学生人数n=eval(input(''))#初始化学生列表lst=[]#循环记录学生语数英成绩,总分和学号(二位列表)[[语,数,英,总分,学号],...]foriinrange(n):a=list(map(int,input().strip().split()))a.appe 题解列表 2020年02月15日 0 点赞 1 评论 2529 浏览 评分:8.4
信息学奥赛一本通T1179-奖学金-题解(C语言代码) 首先用二维数组储存成绩,扩展一个列存放学号,使得学生的所有信息在一个数组中先按照总分排序,判断总分一样的判断语文成绩,语文成绩高的排前面,若语文成绩一样,学号靠前的排前面。最后易错点是要考虑原始输入的成绩人数,如果原始人数少于五人,则输出的就是原始人数排名,否则输出前五名。 题解列表 2020年02月15日 0 点赞 1 评论 1420 浏览 评分:7.3
信息学奥赛一本通T1179-奖学金-题解(C语言代码) #include#defineN300structM{ints;intnum;}s[N];intmain(){intn,a[N][3],i,j,t,t1,n1,n2;scanf("%d",&n);for(i=0;i=0;i--){for(j=0;j 题解列表 2020年02月15日 0 点赞 1 评论 606 浏览 评分:6.5
信息学奥赛一本通T1179-奖学金-题解(C++代码) 使用数组做的,可以过测试,用的是折半插入排序```cpp#includeusingnamespacestd;typedefstructstudent{intnum;intc_score;intm_score;inte_score;intsum;};voidcin_s(student*s, 题解列表 2020年03月24日 0 点赞 0 评论 1384 浏览 评分:6.0
信息学奥赛一本通T1179-奖学金-题解(Python代码) C/C++的话就是自定义结构体排序,Python3可以用functools的cmp_to_key函数来接收两个参数,实现自定义比较。```pythonimportfunctoolsdefcmp(x,y):returny[0]-x[0]ifx[0]!=y[0]else(y[1]-x[1]ifx[1]!= 题解列表 2020年07月07日 0 点赞 0 评论 1110 浏览 评分:0.0
信息学奥赛一本通T1179-奖学金-题解(C++代码)简洁高效+运算符重载 摘要:解题思路:注意事项:参考代码:#include <iostream> #include <algorithm> using namespace std; struct Node { in…… 题解列表 2020年11月24日 0 点赞 1 评论 2166 浏览 评分:7.7
信息学奥赛一本通T1179-奖学金-题解(C语言代码) ##思路:用结构体数组存储成绩和sum,数组下标即为学号#includestructstu{intc;intd;inte;intsum;}m[300];voidinput(inti){scanf("%d%d%d",&m[i].c,&m[i].d, 题解列表 2020年12月26日 0 点赞 1 评论 1915 浏览 评分:9.5