您的位置:首页 > 其它

nyoj60谁获得的奖学金最高

2015-11-06 15:42 288 查看
#include<stdio.h>

struct

{

char name[20];

int finalGrade;

int evaluateScore;

char job;

char westStu;

int thesis;

int scholarship;

}data[110];

int main()

{

int n,m,i,sum,max;

scanf("%d",&n);

while(n--)

{

scanf("%d",&m);

sum = 0;

for( i = 0;i < m;i++)

{

data[i].scholarship = 0;

scanf("%s %d%d %c %c %d",&data[i].name,&data[i].finalGrade,&data[i].evaluateScore,&data[i].job,&data[i].westStu,&data[i].thesis);

}

for(i = 0;i < m;i++)

{

if(data[i].finalGrade > 80 && data[i].thesis > 0)

{

data[i].scholarship += 8000;

}

if(data[i].finalGrade > 85 && data[i].evaluateScore > 80)

{

data[i].scholarship += 4000;

}

if(data[i].finalGrade > 90)

{

data[i].scholarship += 2000;

}

if(data[i].finalGrade > 85 && data[i].westStu == 'Y')

{

data[i].scholarship += 1000;

}

if(data[i].evaluateScore > 80 && data[i].job == 'Y')

{

data[i].scholarship += 850;

}

}

max = 0;

for(i = 0;i < m-1;i++)

{

if(data[max].scholarship < data[i + 1].scholarship)

{

max = i+1;

}

}

for(i = 0;i < m;i++)

{

sum += data[i].scholarship;

}

printf("%s\n%d\n%d\n",data[max].name,data[max].scholarship,sum);

}

return 0;

}

note:

这里就是一个关于每个人都多个信息,就用到了struct吧信息封装起来; 然后就是这里面的输入多种类型不同的数据的时候,要注意输入字符的时候,会将输入用来隔开数据的空格作为有效数据读进去,这个错误使我浪费了好长时间。scanf就是一个输入匹配的过程。以后要注意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: