输入20名同学的学号、姓名、三门课程成绩; 计算每位同学的总分与平均分; 输出成绩表、显示总分最高分与最低分学生的成绩信息。
时间: 2024-11-05 21:23:46 浏览: 0
学生信息管理系统,1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。
这是一个涉及到数据处理的问题,可以用编程语言如Python来实现。首先,我们需要创建一个结构体或字典来存储每位同学的信息,包括学号、姓名和三门课程的成绩。然后我们可以编写函数来计算总分和平均分。
以下是简单的步骤:
1. 定义一个数据结构,例如`Student`类,包含属性如`student_id`, `name`, 和一个列表`scores`来存储三门课程的成绩。
```python
class Student:
def __init__(self, student_id, name):
self.student_id = student_id
self.name = name
self.scores = [0, 0, 0] # 初始化三科成绩为0
# 创建20位同学的列表
students = []
for _ in range(20):
student_id = input(f"请输入第{len(students) + 1}位同学的学号: ")
name = input(f"请输入第{len(students) + 1}位同学的姓名: ")
scores_str = input(f"请输入第{len(students) + 1}位同学各科成绩 (用逗号隔开): ")
scores = list(map(int, scores_str.split(',')))
students.append(Student(student_id, name, scores))
```
2. 计算每位同学的总分和平均分,并存储在一个新属性中。
```python
for student in students:
total_score = sum(student.scores)
average_score = total_score / len(student.scores)
student.total_score = total_score
student.average_score = average_score
```
3. 输出成绩表,以及最高分和最低分的学生信息。
```python
print("成绩表:")
for i, student in enumerate(students):
print(f"{i+1}. {student.name}: 总分={student.total_score}, 平均分={student.average_score}")
max_student = max(students, key=lambda x: x.total_score)
min_student = min(students, key=lambda x: x.total_score)
print("\n最高分学生: ", max_student.name, " 总分:", max_student.total_score)
print("最低分学生: ", min_student.name, " 总分:", min_student.total_score)
```
阅读全文