编写程序,实现以下功能平均绩点计算方法:(课程学分1*绩点+课程学分2绩点+. •十课程学分几绩点)/(课程学分1+课程学分2+! '士课程学分n)用 户循环输入五分制成绩和课程学分,题目测试数据保江至少有一组或以上合法数据输入。输入 -1时结束输入,计算学生平 均绩点。等级与绩点对应关系如下表: 课件 成绩 iSE 成绩 90-100 85-89 82-84 78-81 75-77 72-74 68-71 64-67 60-63 *1*60 等级 IA B+ B B- C+ C C D- 绩点 4.0 3.7 3.3 3.0 2.7 2.3 2.0 1.5 1.3 1.0 0 输入格式 每组输入包括两行 第一行是五分制的分数 第二行是一个代表学分的数字 输出格式 平均绩点,严格保留两位小数 Python
时间: 2024-02-01 08:12:43 浏览: 143
```
score_grade = {5: 4.0, 4: 3.7, 3: 3.3, 2: 3.0, 1: 2.7, 0: 2.3, -1: 2.0, -2: 1.5, -3: 1.3, -4: 1.0, -5: 0}
credit_sum = 0
total_grade_point = 0
while True:
score = int(input())
if score == -1:
break
credit = int(input())
credit_sum += credit
total_grade_point += credit * score_grade[score]
average_grade_point = total_grade_point / credit_sum
print('%.2f' % average_grade_point)
```
相关问题
平均绩点计算方法:(课程学分1*绩点+课程学分2*绩点+.....+课程学分n*绩点)/(课程学分1+课程学分2+….+课程学分n)用户循环输入五分制成绩和课程学分,题目测试数据保证至少有一组或以上合法数据输入。输入’-1’时结束输入,计算学生平均绩点
好的,这是一个计算学生平均绩点的问题,我可以帮你解答。
首先,你需要用一个循环语句来实现用户循环输入五分制成绩和课程学分的功能。每次循环,你需要提示用户输入成绩和学分,并将它们存储在相应的变量中。当用户输入-1时,你需要退出循环。
接下来,你需要根据用户输入的成绩,计算相应的绩点。根据题目要求,五分制成绩和绩点的对应关系如下:
成绩 | 绩点
---- | ----
5 | 4.3
4 | 4.0
3 | 3.0
2 | 2.0
1 | 1.0
0 | 0
然后,你需要根据计算公式,计算学生的平均绩点。具体来说,你需要将每门课程的课程学分乘以相应的绩点,然后将它们相加,再除以所有课程的学分之和。
最后,你需要输出学生的平均绩点。可以使用printf函数来实现。下面是一个C语言的示例代码,供你参考:
```c
#include <stdio.h>
int main() {
int score, credit, total_credit = 0;
double grade_point, total_grade_point = 0.0;
printf("请输入五分制成绩和课程学分(输入-1结束输入):\n");
while (1) {
scanf("%d", &score);
if (score == -1) {
break;
}
scanf("%d", &credit);
total_credit += credit;
switch (score) {
case 5:
grade_point = 4.3;
break;
case 4:
grade_point = 4.0;
break;
case 3:
grade_point = 3.0;
break;
case 2:
grade_point = 2.0;
break;
case 1:
case 0:
grade_point = 1.0;
break;
default:
printf("非法输入,请重新输入!\n");
continue;
}
total_grade_point += grade_point * credit;
}
if (total_credit == 0) {
printf("没有输入有效数据!\n");
} else {
double average_grade_point = total_grade_point / total_credit;
printf("学生的平均绩点为:%.2f\n", average_grade_point);
}
return 0;
}
```
希望这个解答能够帮助到你,如果还有其他问题,请随时提出。
平均绩点计算方法:(课程学分1*绩点+课程学分2*绩点+课程学分n*绩点)/(课程学分1+课程学分2+课程学分n) 用户循环输入五分制成绩和课程学分,输入‘-1’时结束输入,计算学生平均绩点。
### 回答1:
以下是Python代码实现:
sum_grade_point = 0 # 绩点总和
sum_credits = 0 # 学分总和
while True:
score = input("请输入五分制成绩:")
if score == "-1":
break
credit = float(input("请输入课程学分:"))
if score == "5":
grade_point = 4.0
elif score == "4":
grade_point = 3.0
elif score == "3":
grade_point = 2.0
elif score == "2":
grade_point = 1.0
else:
grade_point = 0.0
sum_grade_point += credit * grade_point
sum_credits += credit
gpa = sum_grade_point / sum_credits
print("学生的平均绩点为:", gpa)
注:以上为基本实现,如果要考虑输入错误的情况或者数据合法性可以进行增强。
### 回答2:
平均绩点计算方法是通过将每门课程的学分与对应的绩点相乘,然后将所有课程的学分与绩点的乘积相加,最后再除以总学分数来得到平均绩点。
首先,我们需要用户循环输入每门课程的五分制成绩和课程学分,直到输入‘-1’为止。
然后,我们需要定义变量来记录总学分数和总绩点数。设学分总和为0,绩点总和为0。
接下来,我们进入循环。在每次循环中,先要求用户输入课程学分和五分制成绩,并将其转换为绩点。如果输入的是‘-1’,则跳出循环。
然后,将此门课程的学分与绩点相乘,并将结果累加到绩点总和上,同时将课程学分累加到学分总和上。
最后,在循环结束后,计算平均绩点。将绩点总和除以学分总和,即可得到学生的平均绩点。
最后,输出学生的平均绩点。
例如,如果用户输入的五分制成绩和课程学分分别为3和4,则转换后的绩点为3*4=12。接着用户输入的五分制成绩和课程学分分别为4和3,则转换后的绩点为4*3=12。最后,用户输入-1表示结束输入。根据计算平均绩点公式,绩点总和为12+12=24,总学分数为4+3=7。所以,学生的平均绩点为24/7=3.43。
### 回答3:
平均绩点计算方法是根据课程学分和对应的绩点来计算学生的平均绩点。绩点是用于表示学生在某门课程中的成绩水平的量化指标。一般来说,不同的成绩对应着不同的绩点,如85分对应的绩点是4.0, 80分对应绩点是3.7等等。
用户循环输入五分制成绩和课程学分,输入‘-1’时结束输入。在每次输入时,我们需要判断输入的成绩是否合法,即成绩需要在0到100之间。如果输入的成绩合法,我们可以根据相应的绩点计算出该门课程的绩点乘以学分。如果输入的成绩不合法,则需要重新提示用户输入正确的成绩。此外,还需要记录已经输入的课程学分的总和,以便后续计算平均绩点。
当用户输入‘-1’时,表示输入结束了。我们可以将输入的绩点乘以学分的总和除以总的课程学分,得到学生的平均绩点。最后将结果输出即可。
下面是一个示例代码:
总学分 = 0
绩点乘以学分的总和 = 0
while True:
成绩 = int(input("请输入五分制成绩:"))
if 成绩 == -1:
break
if 成绩 < 0 or 成绩 > 100:
print("输入的成绩不合法,请重新输入。")
continue
学分 = int(input("请输入课程学分:"))
总学分 += 学分
绩点乘以学分的总和 += 成绩 * 学分
平均绩点 = 绩点乘以学分的总和 / 总学分
print("学生的平均绩点为:", 平均绩点)
请注意,示例代码中的输入操作是使用input函数进行的,如果希望代码能在图形界面下运行,可以考虑使用适合的输入方式。另外,代码中没有添加异常处理的语句,需要根据具体需求进行补充。
阅读全文