GPA= ∑P i ∑F i ×P i 其中,GPA为所计算的绩点,[数学错误] F i 为课程的绩点成绩,[数学错误] P i 为该课程的学分。绩点成绩[数学错误] F i 不是课程的真实百分制成绩,而是从百分制成绩转换为而来,转换的方法是: [数学错误] F= 10 S i −50 其中[数学错误] S为对应的百分制成绩,若百分制成绩低于50,记绩点成绩为0。 输入 输入中有若干行,最多不超过500行。每行包含一个同学
时间: 2024-03-13 16:48:19 浏览: 174
Advanced GPA Calc-开源
非常抱歉,我之前回答的内容有些错误。以下是正确的回答:
题目描述:
计算机专业实在是太卷了,又到了确定保研资格的阶段,各位同学都紧盯着自己的绩点,想知道自己能否顺利上岸。作为负责成绩的J老师,对保研成绩核算也是异常的谨慎。绩点核算时,若绩点相差不到0.01,则认为排名相同。由于工作繁琐,他想请你做一个程序帮忙计算大家的绩点。
根据学校的规定,绩点的计算方法为:
GPA= ∑Fi×Pi / ∑Pi
其中,GPA为所计算的绩点,Fi为课程的绩点成绩,Pi为该课程的学分数。
绩点成绩Fi不是课程的真实百分制成绩,而是从百分制成绩转换为而来,转换的方法是:
Fi= 10×(Si-50)/10
其中Si为对应的百分制成绩,若百分制成绩低于50,记绩点成绩为0。
输入格式:
输入中有若干行,最多不超过500行。每行包含一个同学的信息,包括姓名、学号、学期总学分数、各门课程的百分制成绩和学分数,以空格分隔。
输出格式:
按照绩点从高到低的顺序输出同学的信息,包括姓名、学号、学期总学分数、GPA,以空格分隔。若GPA相差不到0.01,则认为排名相同。
样例输入:
```
Tom 2021001 20 89 4 67 3 91 2
John 2021002 18 70 3 80 2 81 3 72 3
```
样例输出:
```
Tom 2021001 20 3.51
John 2021002 18 2.95
```
解题思路:
首先根据输入数据格式,需要将输入数据解析成姓名、学号、学期总学分数、各门课程的百分制成绩和学分数这五个部分。解析完输入数据后,就可以按照绩点计算公式计算同学的绩点,并将同学信息和绩点存储到一个列表中。最后按照绩点从高到低的顺序对同学信息进行排序,并输出结果。
解题代码:
阅读全文