BT教师的BT课程的BT成绩算法
从前有个BT的老师,开了一门BT的课程,布置了一批BT的实验作业,举行了一次BT的期末考试,采用一种BT的成绩算法,结果培养出一群成绩BT人也BT的学生。
这个BT的算法是总成绩100分,其中实验成绩占50%,论坛成绩占5%,期末成绩占45%。
每个实验满分100。实验成绩是所有实验的平均分乘以50%。最多不会超过100个实验。
论坛上的每个帖子最高5分,所有帖子的平均分就是论坛成绩。一般来说,每个学生发帖的个数不会超过1000。
期末考试卷面100分,乘以45%后做为期末成绩。
把实验成绩、论坛成绩和期末成绩相加就得到总成绩。不过BT老师所在的BT学校的BT成绩管理系统只能输入整数,所以成绩的小数部分必须处理掉。BT老师又有了一个BT的想法,那就是既不四舍五入,也不直接取整,而是只要小数部分不为0,都直接进位。例如59.987654321和59.123456789最后都算作60,而60.0也是60。而且,这个进位不是针对总成绩,而是针对实验成绩、论坛成绩和期末成绩。它们三个进位后,再相加计算总成绩。
比如一个BT学生实验成绩得了49.1,论坛成绩得了4.5,期末成绩得了44.1,总成绩应该是49.1+4.5+44.1==97.7,但BT进位一出,变成了50+5+45==100!
此外还要知道学生成绩的等级,>=90为优秀,>=80为良好,>=70为中等,>=60为及格,其余为不及格
现在BT老师需要一个BT的程序来帮他统计所有学生的成绩。可能BT的你得到了这个BT任务。
输入说明
输入的所有数据均为整数。第一行包含两个整数,第一个是学生总数,第二个是实验总数。学生数不会超过232-1。
然后是所有学生的各种成绩。每个学生的数据都是四行。
第一行是学生的学号,是一个不超过10位的整数;
第二行是每次实验的分数。数据个数同实验总数;
第三行的第一个数字是发帖总数,后面是每个帖子的得分;
第四行是卷面分数。
输出说明
以表格的形式输出,每列12格宽,空白地方用空格填充(最后一列不需要12格,但是要求左对齐),行尾没有空格。每行是一个学生的成绩统计,包括各项成绩和等级(A、B、C、D、E,分别表示优秀、良好、中等、及格和不及格)。最后输出各项的总平均分。所有数据都左对齐输出。表头和表尾分别用65个减号与表体分开。
输入范例
3 5106032010599 100 100 100 903 3 5 595106371061599 99 90 90 905 5 5 5 5 595106371061012 34 56 78 9010 0 1 2 3 4 5 4 3 2 160
输出范例
ID LAB FORUM FINAL TOTAL GRADE-----------------------------------------------------------------1060320105 49 5 43 97 A1063710615 47 5 43 95 A1063710610 27 3 27 57 E-----------------------------------------------------------------Average: 41.00 4.33 37.67 83.00 B
--------------------------------------------------------------------------------
注1:本故事纯属虚构,如有雷同,实属巧合
注2:BT == Beyond_Triteness
注3:printf()有直接左对齐输出的方法,找找看
该学习了。。。