『新・明解C言語 入門編 第2版』演習問題解答例 8ー4

演習8ー4

問: バブルソートの走査を末尾側からではなく、先頭側から行うように、List8-5を書きかえたプログラムを作成せよ。

// Ex0804.c

#include <stdio.h>
#define NUMBER 5

void bsort(int a[], int n)
{
    int i;
    int j;

    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - 1; j++) {
            if (a[j] > a[j + 1]) {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}

int main(void)
{
    int height[NUMBER];

    printf("%d 人の身長を入力せよ。\n", NUMBER);
    for (int i = 0; i < NUMBER; i++) {
        printf("%2d番:", i + 1);
        scanf("%d", &height[i]);
    }

    bsort(height, NUMBER);

    puts("");
    puts("昇順にソートしました。\n");
    for (int i = 0; i < NUMBER; i++)
        printf("%2d番: %d\n", i + 1, height[i]);

    return 0;
}

コメント

 特になし。

 


書籍情報


コメント

タイトルとURLをコピーしました