读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号的算法
时间: 2024-05-16 16:14:36 浏览: 24
以下是一个简单的 Python 代码实现:
```python
n = int(input("请输入学生人数:"))
max_score = -1
min_score = 101
max_name = ""
max_id = ""
min_name = ""
min_id = ""
for i in range(n):
name = input("请输入第{}名学生的姓名:".format(i+1))
id = input("请输入第{}名学生的学号:".format(i+1))
score = int(input("请输入第{}名学生的成绩:".format(i+1)))
if score > max_score:
max_score = score
max_name = name
max_id = id
if score < min_score:
min_score = score
min_name = name
min_id = id
print("成绩最高的学生是{}({}),成绩为{}分。".format(max_name, max_id, max_score))
print("成绩最低的学生是{}({}),成绩为{}分。".format(min_name, min_id, min_score))
```
该算法首先读入学生人数 `n`,然后通过一个循环依次读入每个学生的姓名、学号、成绩。在读入每个学生的信息时,判断该学生的成绩是否比已知的最高或最低成绩高或低,如果是,则更新最高或最低成绩的值,以及对应的学生姓名和学号。循环结束后,输出成绩最高和最低的学生的姓名、学号和成绩即可。