有4名学生,每名学生的数据包括学号,姓名,英语成绩,C语言成绩和数学成绩,从键盘输入这4名学生的数据,要求输出3门课平均成绩,以及平均分最高的学生数据(包括学号,姓名,3门课成绩和平均成绩)。
时间: 2025-01-13 22:03:59 浏览: 66
首先,我们需要设计一个结构体来表示学生的信息,然后使用循环从键盘读取四名学生的数据。接下来,我们将计算每位学生的三门课程平均分,并保存最高平均分的学生信息。以下是Python的示例代码:
```python
# 定义学生信息结构体
class Student:
def __init__(self):
self.id = ""
self.name = ""
self.english_score = 0
self.c_language_score = 0
self.math_score = 0
def input_students_data():
students = []
for _ in range(4):
student = Student()
student.id = input("请输入学生学号:")
student.name = input("请输入学生姓名:")
student.english_score = int(input("请输入英语成绩:"))
student.c_language_score = int(input("请输入C语言成绩:"))
student.math_score = int(input("请输入数学成绩:"))
students.append(student)
return students
def calculate_average_scores(students):
avg_scores = []
highest_avg_student = None
highest_avg = 0
for student in students:
avg = (student.english_score + student.c_language_score + student.math_score) / 3
avg_scores.append(avg)
if avg > highest_avg:
highest_avg = avg
highest_avg_student = student
return avg_scores, highest_avg_student
students = input_students_data()
avg_scores, top_student = calculate_average_scores(students)
print(f"三位学生的平均成绩分别是:{', '.join(map(str, avg_scores))}")
print("\n平均分最高的学生信息:")
print(f"学号:{top_student.id}")
print(f"姓名:{top_student.name}")
print(f"英语成绩:{top_student.english_score}, C语言成绩:{top_student.c_language_score}, 数学成绩:{top_student.math_score}")
print(f"平均成绩:{highest_avg}")
```
当你运行这个程序,它将提示你依次输入每名学生的学号、姓名和三门课程的成绩,然后会显示三位学生的平均成绩以及平均分最高的学生的详细信息。
阅读全文
相关推荐


















