演習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;
}
コメント
特になし。
書籍情報
コメント