配列に格納した数値を降順ソートする
当ページのリンクには広告が含まれています。
スポンサーリンク
配列に格納した数値を降順ソートするサンプルプログラムを紹介します。
降順ソート
降順ソートでは、数値を大きい方から小さい方へソートします(並べ替えます)。
- 例えば、{3,8,5} という配列を降順ソートすると {8,5,3} になります。
- 例えば、{-1,3,1,8,5} という配列を降順ソートすると {8,5,3,1,-1} になります。
サンプルプログラム
それではサンプルプログラムをみてみましょう。
/*
* C言語のサンプルプログラム - Webkaru
* - 配列に格納した数値を降順ソート -
*/
#include <stdio.h>
int main(void)
{
int i, j, tmp;
/* 数値を格納する配列 */
int number[100];
/* 数値の総数を入力 */
int total;
printf("入力する数値の総数 = ");
scanf("%d", &total);
/* 配列に格納する数値を入力 */
printf("%d個の数値を入力 \n", total);
for (i=0; i<total; ++i)
scanf("%d", &number[i]);
/* 数値を降順にソート */
for (i=0; i<total; ++i) {
for (j=i+1; j<total; ++j) {
if (number[i] < number[j]) {
tmp = number[i];
number[i] = number[j];
number[j] = tmp;
}
}
}
/* 降順ソートした数値を出力 */
printf("降順ソートした数値\n");
for (i=0; i<total; ++i)
printf("%d\n", number[i]);
}
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
入力する数値の総数 = 3 3個の数値を入力 3 8 5 降順ソートした数値 8 5 3
入力する数値の総数 = 5 5個の数値を入力 -1 3 1 8 5 降順ソートした数値 8 5 3 1 -1
適切に数値が降順ソートされていますね。