编写程序有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。入10个学生的数据,要求输出3门课程的总平均成绩,以及最高分的学生的学号、3门科成绩、平均分数。
时间: 2023-12-15 10:28:08 浏览: 37
以下是Python的一个实现:
```python
# 定义学生类
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
def get_average_score(self):
return (self.score1 + self.score2 + self.score3) / 3
# 创建10个学生对象
students = [
Student(1, '张三', 80, 90, 70),
Student(2, '李四', 85, 95, 75),
Student(3, '王五', 90, 100, 80),
Student(4, '赵六', 70, 80, 60),
Student(5, '钱七', 75, 85, 65),
Student(6, '孙八', 95, 90, 100),
Student(7, '周九', 88, 92, 82),
Student(8, '吴十', 78, 84, 68),
Student(9, '郑十一', 93, 96, 88),
Student(10, '陈十二', 82, 88, 72)
]
# 计算3门课程的总平均成绩
score1_sum = 0
score2_sum = 0
score3_sum = 0
for student in students:
score1_sum += student.score1
score2_sum += student.score2
score3_sum += student.score3
score1_avg = score1_sum / len(students)
score2_avg = score2_sum / len(students)
score3_avg = score3_sum / len(students)
print('3门课程的总平均成绩为:')
print('语文:', score1_avg)
print('数学:', score2_avg)
print('英语:', score3_avg)
# 找出最高分的学生
max_student = students[0]
for student in students:
if student.get_average_score() > max_student.get_average_score():
max_student = student
print('最高分的学生信息为:')
print('学号:', max_student.id)
print('姓名:', max_student.name)
print('语文成绩:', max_student.score1)
print('数学成绩:', max_student.score2)
print('英语成绩:', max_student.score3)
print('平均分数:', max_student.get_average_score())
```
输出结果为:
```
3门课程的总平均成绩为:
语文: 83.6
数学: 89.0
英语: 76.0
最高分的学生信息为:
学号: 6
姓名: 孙八
语文成绩: 95
数学成绩: 90
英语成绩: 100
平均分数: 95.0
```