用c语言编写程序:有一个选修课的班级人数≤20,输入n表示选修的人数,然后输入n个数表示n个人的成绩,将分数按降序排序
时间: 2024-05-09 18:17:26 浏览: 5
好的,这是一个简单的排序问题,下面是 CSDN 开发的 ChitGPT 的代码实现(仅供参考):
```
#include <stdio.h>
int main() {
int n, i, j, temp;
int score[20];
// 输入选修的人数和每个人的成绩
printf("请输入选修的人数(不超过20):");
scanf("%d", &n);
printf("请依次输入每个人的成绩:");
for (i = 0; i < n; i++) {
scanf("%d", &score[i]);
}
// 对成绩进行降序排序
for (i = 0; i < n-1; i++) {
for (j = i+1; j < n; j++) {
if (score[i] < score[j]) {
temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
// 输出排序后的成绩
printf("排序后的成绩为:\n");
for (i = 0; i < n; i++) {
printf("%d ", score[i]);
}
return 0;
}
```
相关问题
请用C语言编写如下程序:有一个选修课的班级人数≤20,输入n表示选修的人数,然后输入n个数表示n个人的成绩,将分数按降序排序 【输入样例】 5 66 73 89 74 94【输出样例】 94 89 74 73 66
好的,以下是符合要求的C语言程序:
```
#include <stdio.h>
int main() {
int n, i, j, temp;
int scores[20];
printf("请输入选修课的人数(不超过20人):");
scanf("%d", &n);
printf("请输入%d个成绩:", n);
for (i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (scores[i] < scores[j]) {
temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
printf("按降序排列后的成绩为:");
for (i = 0; i < n; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
```
如果您有其他问题,请继续提出。
用C语言写有一个选修课的班级人数≤20,输入n表示选修的人数,然后输入n个数表示n个人的成绩,将分数按降序排序
好的,这是一个关于编程的问题,我可以为您解答。请看下面的C语言代码,它可以实现您要求的功能:
```C
#include <stdio.h>
void bubble_sort(int *arr, int n); //声明冒泡排序函数
int main()
{
int n = 0; //选修人数
int arr[20] = {0}; //成绩数组
printf("请输入选修人数:");
scanf("%d", &n);
printf("请输入每个人的成绩:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubble_sort(arr, n); //对成绩进行排序
printf("按降序排列后的成绩为:\n");
for (int i = 0; i < n; i++) { //输出排序后的成绩
printf("%d ", arr[i]);
}
return 0;
}
void bubble_sort(int *arr, int n) //定义冒泡排序函数
{
int i, j;
int temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] < arr[j+1]) { //相邻元素交换
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
```
希望这个代码可以解决您的问题!