解题思路:定义结构体+结合sort排序+自定义类型排序

注意事项:两个获得奖金一致时,按输入顺序输出先输入的

参考代码:

#include <iostream>

#include <algorithm>

using namespace std;

struct student {

char name[20];

int fin_aver,cla,num_paper,get_money=0,id;

char is_s,is_w;

} T[101];

bool cmp(struct student a,struct student b) {

if(a.get_money!=b.get_money) return a.get_money > b.get_money;

else return a.id<b.id;

}

int main () {

int n,sum_money=0;

cin>>n;

for(int i=0; i<n; ++i) {

T[i].id=i+1;

cin>>T[i].name>>T[i].fin_aver>>T[i].cla>>T[i].is_s>>T[i].is_w>>T[i].num_paper;

if(T[i].fin_aver>80 && T[i].num_paper>=1) T[i].get_money+=8000;

if(T[i].fin_aver>85 && T[i].cla>80) T[i].get_money+=4000;

if(T[i].fin_aver>90) T[i].get_money+=2000;

if(T[i].fin_aver>85 && T[i].is_w=='Y') T[i].get_money+=1000;

if(T[i].cla>80 && T[i].is_s=='Y') T[i].get_money+=850;

sum_money+=T[i].get_money;

}

sort(T,T+n-1,cmp);

cout<<T[0].name<<endl<<T[0].get_money<<endl<<sum_money<<endl;

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论