又到了一年一度的评奖学金的时候,究竟是谁拿了最高的奖学金呢?让我们一起来看看吧!
下面是题解
#include<stdio.h>
struct node
{
char name[1000];
int a,b;//期末成绩 班成绩
char x[10],y[10];//干部 省
int num;//论文
};
int main()
{
int n;
scanf("%d",&n);
struct node arr[100];
while(n--){
int x;
scanf("%d",&x);
int sum[10000]={0};
int all=0;
int flag1=0;
int num1=0;
for(int i=0;i<x;i++){
scanf("%s %d %d %s %s %d",arr[i].name,&arr[i].a,&arr[i].b,arr[i].x,arr[i].y,&arr[i].num);
if(arr[i].a>80&&arr[i].num>0){
sum[i]+=8000;
}
if(arr[i].a>85&&arr[i].b>80){
sum[i]+=4000;
}
if(arr[i].a>90){
sum[i]+=2000;
}
if(arr[i].a>85&&arr[i].y[0]=='Y'){
sum[i]+=1000;
}
if(arr[i].b>80&&arr[i].x[0]=='Y'){
sum[i]+=850;
}
all+=sum[i];
if(flag1<sum[i]){
flag1=sum[i];
num1=i;
}
if(i==(x-1)){
printf("%s\n",arr[num1].name);
printf("%d\n",flag1);
printf("%d\n",all);
}
}
}
return 0;
}
欢迎大家评论区给出更多的看法和讨论!