/* ----------------------------------------------- ソート(1) 隣接交換法 ----------------------------------------------- */ #include #define YOUSO 5 int su[YOUSO]; /* 関数のプロトタイプ宣言 */ void num_input(); void num_sort(); void num_display(); /* ------------- main 関数 ------------- */ int main(){ num_input(); num_sort(); num_display(); } /* ------------- 5個の数字入力 ------------- */ void num_input(){ int i; printf("5個の数字をソートします \n"); for ( i=0 ; i<=YOUSO-1 ; i++ ){ printf("NO.%d --> ",i+1); scanf("%d",&su[i]); } } /* ------------- ソート処理 ------------- */ void num_sort(){ int n,k,work,i; n = YOUSO - 1; printf("\n"); printf(" ------ SORT START ------ \n\n"); while ( n>0 ) { k = 0; while ( k su[k+1] ) { work = su[k]; su[k] = su[k+1]; su[k+1] = work; } for ( i=0 ; i<=YOUSO-1 ; i++ ){ printf("%5d",su[i]); } printf("\n"); k++; } printf("\n"); n--; } } /* ------------- 5個の数字表示 ------------- */ void num_display(){ int i; printf("\n"); printf("小さい順に表示します \n"); for ( i=0 ; i<=YOUSO-1 ; i++ ){ printf("%5d",su[i]); } printf("\n\n"); }