重庆网站建设培训学校,网页制作的收获,杭州网站建设服务,机械行业网站建设制作开发方案谁获得了最高奖学金http://acm.nyist.net/JudgeOnline/problem.php?pid60 时间限制#xff1a;1000 ms | 内存限制#xff1a;65535 KB难度#xff1a;2描述某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种#xff0c;获取的条件各自不同#xff… 谁获得了最高奖学金http://acm.nyist.net/JudgeOnline/problem.php?pid60 时间限制1000 ms | 内存限制65535 KB 难度2 描述某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种获取的条件各自不同 1) 院士奖学金每人8000元期末平均成绩高于80分80并且在本学期内发表1篇或1篇以上论文的学生均可获得 2) 五四奖学金每人4000元期末平均成绩高于85分85并且班级评议成绩高于80分80的学生均可获得 3) 成绩优秀奖每人2000元期末平均成绩高于90分90的学生均可获得 4) 西部奖学金每人1000元期末平均成绩高于85分85的西部省份学生均可获得 5) 班级贡献奖每人850元班级评议成绩高于80分80的学生干部均可获得 只要符合条件就可以得奖每项奖学金的获奖人数没有限制每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分班级评议成绩82分同时他还是一位学生干部那么他可以同时获得五四奖学金和班级贡献奖奖金总数是4850元。 现在给出若干学生的相关数据请计算哪些同学获得的奖金总数最高假设总有同学能满足获得奖学金的条件。 输入第一行输入数据N表示测试数据组数(0N100),每组测试数据输入的第一行是一个整数X1 X 100表示学生的总数。接下来的X行每行是一位学生的数据从左向右依次是姓名期末平均成绩班级评议成绩是否是学生干部是否是西部省份学生以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串不含空格期末平均成绩和班级评议成绩都是0到100之间的整数包括0和100是否是学生干部和是否是西部省份学生分别用一个字符表示Y表示是N表示不是发表的论文数是0到10的整数包括0和10。每两个相邻数据项之间用一个空格分隔。输出每组测试数据输出包括三行第一行是获得最多奖金的学生的姓名第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多输出他们之中在输入文件中出现最早的学生的姓名。第三行是这X个学生获得的奖学金的总数。样例输入 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 最近做的题都和比较最值有关此题也是保留最大值得信息只不过多了一个计算总和。代码如下最初的#includestdio.h#includestring.hint main(){ int n; scanf(%d,n); while(n--) { int m; int i,j,a[2]{0,0},b[2]{0,0},c[2]{0,0},f[2]{0,0}; int count[2]{0,0},sum0; char d,e,k,o,g[25],h[25]; scanf(%d,m); scanf(%s %d %d %c %c %d,g,a[0],b[0],d,e,f[0]); if(a[0]80f[0]0) count[0]8000; if(a[0]85b[0]80) count[0]4000; if(a[0]90) count[0]2000; if(a[0]85eY) count[0]1000; if(b[0]80dY) count[0]850; sumcount[0]; for(i1;im;i) { count[1]0; /* for(j0;j25;j) h[j]\0;*/ scanf(%s %d %d %c %c %d,h,a[1],b[1],k,o,f[1]); if(a[1]80f[1]0) count[1]8000; if(a[1]85b[1]80) count[1]4000; if(a[1]90) count[1]2000; if(a[1]85oY) count[1]1000; if(b[1]80kY) count[1]850; sumcount[1]; if(count[0]count[1]) { count[0]count[1]; strcpy(g,h); /* for(j0;j25;j) { g[j]\0; g[j]h[j]; }*/ } } printf(%s\n,g); printf(%ld\n,count[0]); printf(%ld\n,sum); } return 0;}改进后的#includestdio.h#includestring.hint main(){ int n; scanf(%d,n); while(n--) { int m,a,b,c,max0,sum0; char d,e; char ming[25],mi[25]; scanf(%d,m); while(m--) { int max10; scanf(%s %d %d %c %c %d,ming,a,b,d,e,c); if(a80c0) max18000; if(a85b80) max14000; if(a90) max12000; if(a85eY) max11000; if(b80dY) max1850; summax1; if(maxmax1) { maxmax1; strcpy(mi,ming); } } printf(%s\n,mi); printf(%d\n%d\n,max,sum); } return 0;}转载于:https://www.cnblogs.com/wangyouxuan/p/3228522.html