解题思路:定义结构体+结合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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复