/* ----------------------------------------------- ソート(2) 基本選択法 ----------------------------------------------- */ #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,saisho,work,i; printf("\n"); printf(" ----- SORT START ----- \n"); n = 0; while ( n < YOUSO-1 ){ saisho = n; k = n + 1; while ( k <= YOUSO-1 ) { if ( su[k] < su[saisho] ) { saisho = k; } k++; } work = su[n]; su[n] = su[saisho]; su[saisho] = work; for ( i=0 ; i<=YOUSO-1 ; i++ ){ printf("%5d",su[i]); } 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"); }