从键盘输入某班学生某门课的成绩(具体人数从键盘输入),试编程将分数按从高到低顺序进行排序输出
时间: 2023-06-11 13:08:38 浏览: 176
以下是使用Python语言实现该功能的代码:
```python
num = int(input("请输入学生人数:"))
scores = []
for i in range(num):
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
scores.append(score)
scores.sort(reverse=True)
print("按从高到低排序后的成绩为:")
for score in scores:
print(score)
```
运行效果如下:
```
请输入学生人数:5
请输入第1个学生的成绩:78.5
请输入第2个学生的成绩:90.0
请输入第3个学生的成绩:85.5
请输入第4个学生的成绩:92.0
请输入第5个学生的成绩:80.5
按从高到低排序后的成绩为:
92.0
90.0
85.5
80.5
78.5
```
相关问题
从键盘输入某班学生某门课的成绩(例如计算机班人数最多不超过51人),当输入成绩为负值时,表示输入结束,试编程将分数按从高到低顺序进行排序输出。
以下是使用Python编写的程序:
```python
scores = []
while True:
score = int(input("请输入学生成绩:"))
if score < 0:
break
scores.append(score)
scores.sort(reverse=True)
print("成绩从高到低排序结果:", scores)
```
解释一下程序的实现过程:
1. 首先定义一个空列表scores来存储输入的成绩。
2. 进入循环,使用input函数从键盘输入一个学生的成绩,并将其转换为整数类型。
3. 判断输入的成绩是否小于0,如果是,则跳出循环;否则将其添加到scores列表中。
4. 使用sort函数对scores列表进行排序,reverse=True表示按照从大到小的顺序进行排序。
5. 最后使用print函数输出排序后的结果。
注意事项:
1. 输入的成绩必须为整数类型,否则程序会报错。
2. 输入的成绩个数不能超过51个,否则程序会一直等待输入并卡住。
c语言从键盘输入某班学生某门课的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试编程将分数按从高到低顺序进行排序输出。
以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int scores[40];
int num = 0;
// 从键盘读入分数,直到输入负值
while (1) {
printf("请输入第 %d 个学生的分数:", num + 1);
scanf("%d", &scores[num]);
if (scores[num] < 0) {
break;
}
num++;
}
// 冒泡排序,从高到低排序
for (int i = 0; i < num - 1; i++) {
for (int j = 0; j < num - i - 1; j++) {
if (scores[j] < scores[j+1]) {
int temp = scores[j];
scores[j] = scores[j+1];
scores[j+1] = temp;
}
}
}
// 输出排序后的分数
printf("排序后的分数为:");
for (int i = 0; i < num; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
```
上面的代码使用了一个数组 `scores` 来存储输入的分数,使用变量 `num` 来记录输入了多少个分数。在读入分数的过程中,如果输入负值则退出循环。然后使用冒泡排序算法对分数进行排序,最后输出排序后的分数。
阅读全文