南阳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;
}

建立结构体

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

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

转载于:https://www.cnblogs.com/huanya/p/9361996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值