c语言从键盘输入1门课程3位同学成绩,从高到低进行排序,用数组函数的方式。不使用stdlib.h库
时间: 2023-12-14 20:36:44 浏览: 69
C语言用数组来对学生成绩进行处理
以下是使用数组函数的方式对输入的成绩进行排序的示例代码:
```c
#include <stdio.h>
#define N 3 // 学生数
void sort(int arr[], int n); // 排序函数
int main()
{
int scores[N];
// 从键盘输入成绩
printf("请输入3位同学的成绩:\n");
for (int i = 0; i < N; i++) {
scanf("%d", &scores[i]);
}
// 对成绩进行排序
sort(scores, N);
// 输出排序后的成绩
printf("成绩从高到低排序如下:\n");
for (int i = 0; i < N; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
void sort(int arr[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
在上述代码中,我们首先定义了一个常量 `N` 表示学生数,然后定义了一个 `sort()` 函数来对成绩进行排序。在 `main()` 函数中,我们首先从键盘输入成绩,然后调用 `sort()` 函数对成绩进行排序,最后输出排序后的成绩。
在 `sort()` 函数中,我们使用了双重循环来进行冒泡排序。在每一轮排序中,我们比较相邻的两个成绩大小,如果前一个成绩比后一个成绩小,则交换它们的位置。经过 `n-1` 轮排序,就可以将成绩从高到低排好序了。
阅读全文