有4个学生,每个学生的数据包括学号、姓名、3门课程的成绩。从键盘输入4个学生的数据,要求输出3门课程的总平均成绩,以及最高分的学生的学号、姓名、3门课程成绩、平均分数。
时间: 2023-12-15 17:47:53 浏览: 118
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
好的,我可以回答你的问题。以下是解题步骤:
1. 首先定义一个学生类,包含学号、姓名和3门课程成绩的属性,以及计算平均成绩的方法。
2. 从键盘输入4个学生的数据,创建4个学生对象,并将它们存储在一个列表中。
3. 遍历列表,计算每个学生的3门课程的总成绩,最后计算3门课程的平均成绩。
4. 找到最高分的学生,输出它的学号、姓名、3门课程成绩、平均分数。
以下是实现代码:
```python
class Student:
def __init__(self, num, name, scores):
self.num = num
self.name = name
self.scores = scores
def calc_average(self):
return sum(self.scores) / 3
students = []
for i in range(4):
num = input("请输入学号:")
name = input("请输入姓名:")
scores = []
for j in range(3):
score = float(input("请输入第{}门课程成绩:".format(j+1)))
scores.append(score)
student = Student(num, name, scores)
students.append(student)
total_scores = [0, 0, 0]
max_student = None
max_score = 0
for student in students:
for i in range(3):
total_scores[i] += student.scores[i]
if student.calc_average() > max_score:
max_score = student.calc_average()
max_student = student
average_scores = [total_scores[i] / 4 for i in range(3)]
print("3门课程的总平均成绩为:", average_scores)
print("最高分的学生信息如下:")
print("学号:", max_student.num)
print("姓名:", max_student.name)
print("3门课程成绩:", max_student.scores)
print("平均分数:", max_student.calc_average())
```
希望这个解题过程对你有所帮助。如果你有其他问题,可以继续提问。
阅读全文