c语言从键盘输入某班学生某门课的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试编程将分数按从高到低顺序进行排序输出。
时间: 2024-05-14 11:17:27 浏览: 161
10个学生5门课的成绩统计 C语言
4星 · 用户满意度95%
以下是一个示例代码:
```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` 来记录输入了多少个分数。在读入分数的过程中,如果输入负值则退出循环。然后使用冒泡排序算法对分数进行排序,最后输出排序后的分数。
阅读全文