C语言 冒泡排序(降序) 用函数表达

排序功能写成一个函数sort(int a[ ],int n ), 要求在主函数中从键盘输入n个成绩,调用sort函数将这n个成绩按降序排序。并在主函数中输出排好序的n个成绩。

修改见注释,供参考:

#include<stdio.h>
#define N 100
void sort(int a[], int m) //int sort(int a[], int m) 
{
    int i, j, max;
    for (i = 0; i < m-1; i++) {     //i < m
        for (j = 0; j < m - i - 1; j++) {
            if (a[j] < a[j + 1]) {   // >
                max = a[j];
                a[j] = a[j + 1];
                a[j + 1] = max;
            }
        }
    }
    //return a[m];
}
int main() {
    int n;
    printf("输入待排序数个数:");
    scanf("%d", &n);
    printf("输入待排序数:");
    int a[N];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    //a[n] = sort(a, n);
    sort(a, n);
    for (int i = 0; i < n; i++) {
        printf("%d ", a[i]);
    }
    return 0;
}

img

img