C言語 配列の降順ソート:初心者向け徹底解説
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()関数内で、配列arrをcompare()関数によって指定されたソートルールでソートするためにqsort()関数を使用しています。
上記のコードを実行すると、出力結果は8 5 3 2 1になります。これは配列が大きい順に並べ替えられた結果です。