蒟蒻30分求助 其他都对但就是奖学金总数莫名其妙会多
查看原帖
蒟蒻30分求助 其他都对但就是奖学金总数莫名其妙会多
548201
CHIMPANCAKE楼主2022/7/8 15:21
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
struct stu
{
	char name[105];
	int fnl,cls;//fnl期末 cls班级评议 
	char ws,st1;//ws西部 st1学生干部 
	int psg,sum,num;//psg文章 
}st[10005];
int n;
bool cmp(stu a,stu b)
{
	if(a.sum==b.sum) return a.num<b.num;
	return a.sum>b.sum;
}
int main()
{
	int stsum;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		cin>>st[i].name>>st[i].fnl>>st[i].cls>>st[i].st1>>st[i].ws>>st[i].psg;
		if(st[i].fnl>80&&st[i].psg>=1) st[i].sum+=8000;
		if(st[i].fnl>85&&st[i].cls>80) st[i].sum+=4000;
		if(st[i].fnl>90) st[i].sum+=2000;
		if(st[i].fnl>85&&st[i].ws=='Y') st[i].sum+=1000;
		if(st[i].fnl>80&&st[i].st1=='Y') st[i].sum+=850;
		st[i].num=i+1,stsum+=st[i].sum;
	}
	sort(st,st+n,cmp);
	printf("%s\n%d\n%d",st[0].name,st[0].sum,stsum);
	return 0;
}
2022/7/8 15:21
加载中...