标签:style blog http color os 使用 io ar for
/*
题目大意:求解获得最高奖学金和总的奖学金
解题思路:结构体将他们输入,按题目要求求解就可以了
难点详解:输入时要注意有空格,去除空格(因为有字符输入,要用getchar去除字符)
关键点:结构体的使用
解题人:lingnichong
解题时间:2014-08-31 00:32
解题体会:一开始输入老错,调试了很长时间才改过来
*/
1 4 YaoLin 87 82 Y N 0 ChenRuiyi 88 78 N Y 1 LiXin 92 88 N N 0 ZhangQin 83 87 Y N 1
ChenRuiyi 9000 28700
#include<stdio.h>
#include<string.h>
int sum[110];
struct node
{
char name[25];
int ave,ping;
char std,wet;
int num;
}per[110];
int main()
{
int n,m;
int i,j;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
memset(sum,0,sizeof(sum));
for(i=0;i<m;i++)
{
getchar();
scanf("%s%d%d%d",&per[i].name,&per[i].ave,&per[i].ping);
scanf("%c",&per[i].std);
getchar();
scanf("%c",&per[i].wet);
getchar();
scanf("%d",&per[i].num);
if(per[i].ave>80 && per[i].num>=1)
sum[i]+=8000;
if(per[i].ave>85 && per[i].ping>80)
sum[i]+=4000;
if(per[i].ave>90)
sum[i]+=2000;
if(per[i].ave>85 && per[i].wet=='Y')
sum[i]+=1000;
if(per[i].ping>80 && per[i].std=='Y')
sum[i]+=850;
}
int tot=sum[0],max=sum[0];
j=0;
for(i=1;i<m;i++)
{
if(sum[i]>max)
{
max=sum[i];
j=i;
}
tot+=sum[i];
}
printf("%s\n%d\n%d\n",per[j].name,sum[j],tot);
}
return 0;
}
标签:style blog http color os 使用 io ar for
原文地址:http://blog.csdn.net/qq_16767427/article/details/38951941