首页 > 其他 > 详细

洛谷题解 P1051 【谁拿了最多奖学金】

时间:2020-02-01 17:12:23      阅读:60      评论:0      收藏:0      [点我收藏+]

其实很水

链接:

P1051 【谁拿了最多奖学金】

注意:

看好信息,不要看漏或看错因为信息很密集

AC代码:

 1 #include<bits/stdc++.h>//头文件
 2 using namespace std;//开辟名称空间
 3 struct st//结构体
 4 {
 5     string na;
 6     int sc1,sc2,jxj,lws;
 7     char gb,xb,bb;
 8 };//分号注意
 9 //以上是定义结构体===========
10 bool cmp(st x,st y)
11 {
12     if(x.jxj>y.jxj || x.jxj==y.jxj && x.bb<y.bb)return true;
13     else return false;
14 }
15 //以上是定义结构体排序规则=======
16 st xs[105];//定义结构数组
17 int N,zjxj;//普通定义
18 int main()//开始
19 {
20     cin>>N;//输入
21     for(int i=0;i<N;i++)
22     {
23         cin>>xs[i].na>>xs[i].sc1>>xs[i].sc2>>xs[i].gb>>xs[i].xb>>xs[i].lws;//输入所以规则
24         xs[i].bb=i;//装入相应编号
25     }
26     for(int i=0;i<N;i++)
27     {
28         //以下为判断==============
29         if(xs[i].sc1>80 && xs[i].lws>=1) xs[i].jxj+=8000;
30         if(xs[i].sc1>85 && xs[i].sc2>80) xs[i].jxj+=4000;
31         if(xs[i].sc1>90) xs[i].jxj+=2000;
32         if(xs[i].sc1>85 && xs[i].xb==Y) xs[i].jxj+=1000;
33         if(xs[i].sc2>80 && xs[i].gb==Y) xs[i].jxj+=850;
34         //以上为判断==============
35         zjxj+=xs[i].jxj;//算出最终奖学金,累加
36 }
37     sort(xs,xs+N,cmp);//排序奖学金数量,调用规则
38 
39     cout<<xs[0].na<<endl;//输出最大名字
40     cout<<xs[0].jxj<<endl;//输出最大奖学金
41     cout<<zjxj;//输出总奖学金
42 
43     return 0;//结束
44 }

 

洛谷题解 P1051 【谁拿了最多奖学金】

原文:https://www.cnblogs.com/BiuBiu-Miku/p/12249022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!