最主要的问题是:1.不知道怎么控制输入的结束
2.成绩部分既有可能是数字也有可能是汉字,那我该怎么写输入的函数呢
浙大某年度期末考试的评分标准是这样的:
- 总评成绩 = 考勤 + 作业x20% + 阶段测试x25% + 理论考试x35% + 实验考试调整分数
- 作业、阶段测试、理论考试是百分制。考勤满分5分。
- 实验考试共有两道题,第一题10分,第二题15分。
- 实验考试和理论考试为上机考试,由机器判卷,给分必然是整数。作业与阶段测试的给分可能有小数。
- 只要参加了实验考试,哪怕交了白卷,“实验考试调整分数”就是实验考试两道题总分的开方加10。如果缺考,“实验考试调整分数”为0。
- 如果实验考试两道题都未得到全部分数,有一次补考的机会。补考也是两道题,第一题10分,第二题15分。
- 如果实验考试补考的两道题也都没能得到全部分数,最终成绩为总评成绩和59的最小值。实验考试调整分数仍按正式考试分数计算。也就是说,实验考试至少需要把一道题全部作对,最终成绩才能及格。
- 如果因为实验考试不及格参加了实验考试补考,并且其中至少一道题得到了全部分数,则“实验考试调整分数”强制固定为9,无视答题得分。
- 如果理论考试未得到50分或以上,最终成绩会变成总评成绩和59的最小值。也就是说,无论其它项目多高,只要理论考试没有拿到一半的分数,也会被算作不及格。
- 最终成绩四舍五入到整数,60分或以上为及格。
现在,给出一些学生的各部分成绩,请计算各自的最终成绩。
输入格式:
一行表头,其后是若干行,每行依次是空格隔开的:
姓名 学号 考勤成绩 作业成绩 阶段测试成绩 理论考试成绩 实验第一题成绩 实验第二题成绩 实验补考第一题成绩 实验补考第二题成绩
姓名和学号为不超过100字节的字符串。所有成绩可能是数字,也可能是汉字。汉字表示的成绩(比如“缺考”)一律视为0分,不会超过100字节。学生总数不超过10人。
注意:实验考试及格的同学补考缺考是正常现象。
输出格式:
每个学生一行,依次是空格隔开的:
姓名 学号 最终成绩
输入样例:
姓名 学号 考勤成绩 作业成绩 阶段测试成绩 理论考试成绩 实验第一题成绩 实验第二题成绩 实验补考第一题成绩 实验补考第二题成绩
LILY 00001 0 77 77 60 10 8 缺考 没来
ALICE 00002 5 100 100 100 9 14 9 14
BOB 00003 4 99.5 被狗咬了打疫苗去了 99.4 0 0 10 15
EVE 00004 1 80 80 40 10 5 缺考 缺考
MALORY 00005 1 80 82 80 10 15 缺考 缺考
ZACK 00006 0 0 0 0 1 0 9 14
输出样例:
LILY 00001 70
ALICE 00002 59
BOB 00003 68
EVE 00004 59
MALORY 00005 81
ZACK 00006 11
解释:
- LILY最终成绩是69.89分左右,舍入到70。
- ALICE虽然成绩优异,但编程题补考均未全对,算作59分。
- BOB实验考试参加了补考,调整分数固定为9,取得的满分也无法提高成绩。因为其它分数很优秀,阶段测试缺考并未影响最后及格。
- EVE理论考试未达到50分,算作59分。
- MALORY最终成绩是80.5分,刚好卡在0.5,四舍五入到81。
- ZACK成绩实在太烂,不会因为单项不及格反而提高到59分。