本文只有代码片段,至于如何写 在下建议 自己写代码
直接贴源代码~
/* author:std6051 name:#Helloworld! */ // 输入顺序:学号,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,发表的论文数 #include<iostream> #include<cstdio>//author:std6051 using namespace std; //用结构体,成员用简写 struct stu{//data int num;//学号 int fin;//期末成绩 int cla;//班级评议成绩 int mana;//是否是学生干部 int wes;//是否是西部省份学生 int art;//发表的论文数 int mon;//奖学金总数 }s[105]; int nj,maxmon=-100,maxstu=-100;//less than student numbers //nj为学生总数 long long sum;//奖学金所有学生获得总数 int main(){//T178525 scanf("%d",&nj);//输入 for(int i=1;i<=nj;i++){ scanf("%d%d%d%d%d%d",&s[i].num,&s[i].fin,&s[i].cla,&s[i].mana,&s[i].wes,&s[i].art); if(s[i].fin>80 and s[i].art>=1){//院士奖学金 s[i].mon+=8000; } if(s[i].fin>85 and s[i].cla>80){//五四奖学金 s[i].mon+=4000; } if(s[i].fin>90){//成绩优秀奖 s[i].mon+=2000; } if(s[i].fin>85 and s[i].wes==1){//西部奖学金 s[i].mon+=1000; } if(s[i].cla>80 and s[i].mana==1){//班级贡献奖 s[i].mon+=850; } //update sum+=s[i].mon;//加和 if(s[i].mon>maxmon){ maxmon=s[i].mon;//更新目前获得奖学金总数最高的学生的奖学金 maxstu=s[i].num;//更新目前获得奖学金总数最高的学生的学号 } } printf("%d\n%d\n%lld",maxstu,maxmon,sum);//输出 return 0;//完美结束 }