您的位置:首页 > 其它

第2章练习题--7--谁拿了最多奖学金--2715

2011-10-28 16:36 295 查看
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
struct Student
{
char sName[20];
int avgScore;
int evaScore;
char leader;
char west;
int paperNum;
int totalScholar;
};
int isYuanShi(struct Student s)
{
if(s.avgScore>80&&s.paperNum>=1)
return 8000;
else return 0;
}
int isWuSi(struct Student s)
{
if(s.avgScore>85&&s.evaScore>80)
return 4000;
else return 0;
}
int isYouXiu(struct Student s)
{
if(s.avgScore>90)
return 2000;
else return 0;
}
int isWest(struct Student s)
{
if(s.avgScore>85&&s.west=='Y')
return 1000;
else return 0;
}
int isGongXian(struct Student s)
{
if(s.evaScore>80&&s.leader=='Y')
return 850;
else return 0;
}

int main(int argc, char *argv[])
{
struct Student s[101];
int n,maxS,maxMoney,total;
int i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d %d %c %c %d",&s[i].sName,&s[i].avgScore,&s[i].evaScore,&s[i].leader,&s[i].west,&s[i].paperNum);
s[i].totalScholar=isYuanShi(s[i])+isWuSi(s[i])+isYouXiu(s[i])+isWest(s[i])+isGongXian(s[i]);
}
maxS=maxMoney=total=0;
for(i=0;i<n;i++)
{
total += s[i].totalScholar;
if(s[i].totalScholar>maxMoney)
{
maxMoney = s[i].totalScholar;
maxS = i;
}
}
printf("%s\n",s[maxS].sName);
printf("%d\n",s[maxS].totalScholar);
printf("%d\n",total);

system("PAUSE");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: