有N个学生,每个学生的数据包括学号、班级、姓名、三门课成绩,平均成绩。从键盘输入N 个学生数据(学号、班级、姓名、三门课成绩)。 要求: 1、计算每个学生三门课的平均成绩,并输出。 2、求出平均分最高的学生数据,并输出。 (格式如下样例)
时间: 2025-02-15 20:19:40 浏览: 49
这是一个典型的结构化数据处理问题,可以使用编程语言如Python来解决。以下是使用Python的一个简单示例:
```python
# 定义一个学生类
class Student:
def __init__(self, id, class_name, name, scores):
self.id = id
self.class_name = class_name
self.name = name
self.scores = scores
# 计算平均成绩
def average_score(self):
return sum(self.scores) / len(self.scores)
# 主函数
def main():
n = int(input("请输入学生人数:"))
students = []
for _ in range(n):
id, class_name, name = input("请输入学生{}的信息(学号 班级 姓名):".format(_+1)).split()
scores_str = input("请输入学生{}的三门课程成绩(用逗号分隔):".format(_+1))
scores = list(map(int, scores_str.split(',')))
student = Student(id, class_name, name, scores)
students.append(student)
# 输出每个学生的平均成绩
for i, student in enumerate(students):
avg_score = student.average_score()
print("学生{} ({}) 平均成绩:{:.2f}".format(i+1, student.name, avg_score))
# 找到平均分最高的学生
max_avg_student = max(students, key=lambda s: s.average_score())
print("\n平均分最高的学生信息:")
print("学号:", max_avg_student.id)
print("班级:", max_avg_student.class_name)
print("姓名:", max_avg_student.name)
print("平均成绩:{:.2f}".format(max_avg_student.average_score()))
if __name__ == "__main__":
main()
```
这个程序首先创建了一个`Student`类,包含学生的基本信息和平均成绩计算方法。然后,在主函数中,用户按顺序输入学生数据,存储在`students`列表中。最后,遍历列表计算并输出每个学生的平均成绩,同时找出平均分最高的学生。
阅读全文
相关推荐














