home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 December / VPR0012A.BIN / OLS / CMKT111 / cmkt111.lzh / Cmachine / sample / sort.c < prev   
C/C++ Source or Header  |  2000-09-17  |  662b  |  41 lines

  1.  
  2. /*
  3.  * C machine サンプル ~ 配列
  4.  *
  5.  * 「バブルソート」
  6.  *
  7.  */
  8.  
  9. #include <stdio.h>
  10.  
  11. #define DATA_NUM_MAX    10    // ソートするデータの数
  12.  
  13. int main(void)
  14. {
  15.     int    data[DATA_NUM_MAX] = {0};
  16.     int    i, j, buf;
  17.  
  18.     // データ入力
  19.     printf("%d個の整数をスペースをはさんで入力してください\n", DATA_NUM_MAX);
  20.     for(i=0; i<DATA_NUM_MAX; i++) {
  21.         scanf("%d", &data[i]);
  22.     }
  23.  
  24.     // ソート
  25.     for(i=0; i<DATA_NUM_MAX-1; ++i) {
  26.         for(j=DATA_NUM_MAX-1; j>i; --j) {
  27.             if(data[j-1] >  data[j]) {
  28.                 buf = data[j-1];
  29.                 data[j-1] = data[j];
  30.                 data[j] = buf;
  31.             }
  32.         }
  33.     }
  34.  
  35.     // 出力
  36.     for(i=0; i<DATA_NUM_MAX; i++)
  37.         printf("→%d", data[i]);
  38.  
  39.     return 0;
  40. }
  41.