whyyyyyyyyyyy
查看原帖
whyyyyyyyyyyy
1330135
jihanyu123楼主2024/9/22 10:38

咋回事?输出第三项不对

#include<bits/stdc++.h>
using namespace std;
int max_student=0,all_reward;
struct stu{
	string name;
	int grede_final;
	int grade_classmate;
	char cadre,western;
	int dissertation;
}a[105];
int n;
int reward(int id){
	int ans=0;
	if(a[id].grede_final>80&&a[id].dissertation>=1){
		ans+=8000;
	}
	if(a[id].grede_final>85&&a[id].grade_classmate>80){
		ans+=5000;
	}
	if(a[id].grede_final>90){
		ans+=2000;
	}
	if(a[id].grede_final>85&&a[id].western=='Y'){
		ans+=1000;
	}
	if(a[id].grade_classmate>80&&a[id].cadre=='Y'){
		ans+=850;
	}
	return ans;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].name>>a[i].grede_final>>a[i].grade_classmate>>a[i].cadre>>a[i].western>>a[i].dissertation;
		max_student=(reward(max_student)<reward(i)?i:max_student);
		all_reward+=reward(i);
	}
	cout<<a[max_student].name<<"\n"<<reward(max_student)<<"\n"<<all_reward;
    return 0;
}

2024/9/22 10:38
加载中...