Howafter


私信TA

用户名:Howafter

访问量:320

签 名:

等  级
排  名 3077
经  验 2043
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校 电子科技大学成都学院
专  业

  自我简介:

TA的其他文章

解题思路:定义结构体+结合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 人评分

  评论区

  • «
  • »