南阳oj 谁获得了最高奖学金

#include<iostream>
#include<stdio.h>
using namespace std;
struct student
{
char n[25];
int aver=0;
int mark=0;
char a;
char b;
int num=0;
int sum=0;
};
void scholarship(student &m)
{
if(m.aver >80 &&m.num >=1)
m.sum +=8000;
if(m.aver >85 && m.mark>80)
m.sum +=4000;
if(m.aver >90)
m.sum +=2000;
if(m.aver >85 && m.b =='Y')
m.sum+=1000;
if(m.mark >80 && m.a =='Y')
m.sum +=850;
return ;
}
int main()
{
int t;
cin>>t;
while(t--)
{
student s[105];
int x;
cin>>x;
int max=0;
int maxi=0;
long long int z=0;
for(int i=1;i<=x;i++)
{
cin>>s[i].n>>s[i].aver >>s[i].mark >>s[i].a >>s[i].b >>s[i].num ;
scholarship(s[i]);
z=s[i].sum +z;
if(s[i].sum >max)
{
maxi=i;
max=s[i].sum ;
}
}
cout<<s[maxi].n <<endl;
printf("%d\n",s[maxi].sum );
cout<<z<<endl;
}
return 0;
}

建立结构体

记录最高奖学金获得者序号

注意在写求每个人的奖学金总数函数时,参数类型,形参为实参的引用,否则实参无变化

猜你喜欢

转载自www.cnblogs.com/huanya/p/9361996.html