听取WA声一片:#2#3#4#6#7#9#10WA,悬关
查看原帖
听取WA声一片:#2#3#4#6#7#9#10WA,悬关
840059
tongtong2012楼主2023/10/10 21:17

大佬们麻烦看一下,AC%30

成绩

#include<bits/stdc++.h>
using namespace std;
struct student{
	string name="";//姓名
	int number=0;//编号
	int score=0;//成绩
	int Evaluation_results;//班级评议成绩
	bool academician=false;//院士
	bool May_Fourth=false;//五四
	bool excellent=false;//极好的
	bool west=false;//西部
	bool contribute=false;//贡献
	long long scholarship=0;//奖学金
}stu[105];
bool cmp(student x,student y){
	if(x.scholarship!=y.scholarship)return x.scholarship>y.scholarship;
	else return x.number<y.number;
}
long long sum=0;
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		char ch;
		int in;
		cin>>stu[i].name;
		stu[i].number=i;
		cin>>stu[i].score;
		if(stu[i].score>90)stu[i].excellent=true;
		cin>>stu[i].Evaluation_results;
		cin>>ch;
		if(ch=='Y')stu[i].contribute=true;
		cin>>ch;
		if(ch=='Y')stu[i].west=true;
		cin>>in;
		if(in!=0)stu[i].academician=true;
		/*
		        /\        |
		        |   输入  |   计算奖学金
		        |        \/
		*/
		if(stu[i].score>80&&stu[i].academician)stu[i].scholarship+=8000;
		if(stu[i].score>85&&stu[i].Evaluation_results>80)stu[i].scholarship+=4000;
		if(stu[i].excellent)stu[i].scholarship+=2000;
		if(stu[i].score>85&&stu[i].west)stu[i].scholarship+=1000;
		if(stu[i].score>80&&stu[i].contribute)stu[i].scholarship+=850;
		sum+=stu[i].scholarship;
	}
	sort(stu,stu+n,cmp);
	cout<<stu[0].name<<"\n"<<stu[0].scholarship<<"\n"<<sum;
	return 0;
} 
2023/10/10 21:17
加载中...