温馨提示×

c语言怎么从大到小排序数组

小亿
353
2024-03-01 15:58:17
栏目: 编程语言

可以使用C语言的标准库函数qsort()来对数组进行从大到小的排序。

#include <stdio.h>
#include <stdlib.h>

// 比较函数,用于qsort()排序时指定排序规则
int compare(const void *a, const void *b) {
    return (*(int*)b - *(int*)a);
}

int main() {
    int arr[] = {5, 2, 8, 1, 3};
    int n = sizeof(arr) / sizeof(arr[0]);
    
    qsort(arr, n, sizeof(int), compare);

    printf("数组从大到小排序后:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

在上面的代码中,我们定义了一个比较函数compare(),它会根据传入的两个参数的大小来决定排序规则。然后在main()函数中,我们使用qsort()函数对数组arr进行排序,排序规则由compare()函数指定。

运行以上代码,输出结果会是:8 5 3 2 1,即数组从大到小排序后的结果。

0