4.编写程序,输入n个学生的学号和成绩(有1位小数),按成绩从高到低排序输出,n 小于50,学号小于10位。
时间: 2024-05-01 09:17:34 浏览: 70
汇编学生成绩排名,能将各个学生的学号,成绩,名次输出
5星 · 资源好评率100%
好的,这是一道经典的排序问题,可以使用冒泡排序、快速排序等不同的算法实现,以下是一种冒泡排序的实现方式:
```python
n = int(input("请输入学生的数量:"))
students = []
for i in range(n):
info = input("请输入学号和成绩,中间用空格隔开:").split()
students.append((info[0], float(info[1])))
# 冒泡排序
length = len(students)
for i in range(length):
for j in range(length - i - 1):
if students[j][1] < students[j + 1][1]:
students[j], students[j + 1] = students[j + 1], students[j]
# 输出结果
for student in students:
print(student[0], student[1])
```
以上代码中,我们首先读入学生数量以及每个学生的信息,将学生的信息存储在一个列表中。然后使用冒泡排序的方法,对学生信息按照成绩从高到低进行排序。最后按照顺序输出排序后的学生信息。
阅读全文