标签: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