/* --------------------------------------------------- 基本選択法によるソート sort02_kihon_sentaku.c --------------------------------------------------- */ #include #define YOUSO 5 int su[YOUSO]; /* ------- 関数のプロトタイプ宣言 ---------*/ void num_input(void); void num_sort(void); void num_display(void); /* ------- main関数 ---------*/ int main(void) { num_input(); num_sort(); num_display(); return 0; } /* ------- ソート処理 num_sort関数 ---------*/ void num_sort(void) { int n,k,w,saisho,i; n=0; while ( n < YOUSO - 1 ) { saisho=n; k=n+1; while ( k <= YOUSO -1 ) { if ( su[k] < su[saisho] ) { saisho=k; } k++; } w=su[n]; su[n]=su[saisho]; su[saisho]=w; /* ------------途中経過を表示-----------*/ printf("nが %d の処理",n); for ( i=0 ; i<=YOUSO-1 ; i++ ) { printf("%4d",su[i]); } printf("\n"); /* ------------途中経過を表示-----------*/ n++; } } /* ------- 入力処理 num_input関数 ---------*/ void num_input(void) { int i; printf("%d個の数字をソートします \n",YOUSO); for ( i=0 ; i<=YOUSO-1 ; i++ ) { printf("NO.%d -->",i+1); scanf("%d",&su[i]); } return; } /* ------- 表示処理 num_display関数 ---------*/ void num_display(void) { int i; printf("\n小さい順に表示します \n"); for ( i=0 ; i<=YOUSO-1 ; i++ ) { printf("%4d",su[i]); } printf("\n"); return; }