close

#include <stdio.h>

int compare (const void * a, const void * b) { // 排序用的,你可不用理它
  return  *(int*)a - *(int*)b;
}

int main() {
    int i, j, input;
    char *name[5] = {"老李","龍戈","陳水","小賴","黑皮"};
    int age[5]  = {26,21,29,25,30};
    int age1[5] = {26,21,29,25,30};
    int remenber[5] = {0};
    qsort( age, 5, sizeof(int), compare );  // 將 age[5] 做排序
   for( i = 0; i < 5; i++ ) {              // 這段我只是想說要記
       for( j = 0; j < 5; j++ ) {           // 住排序前的位置
            if( age1[i] == age[j] ) {         // 將原位置的編號
                remenber[i] = j;               // 放到remenber陣列
            }
        }
    }    
    
    do {
        printf("==================================\n");
        printf("26 老李 21 龍戈 29 陳水 25 小賴 30 黑皮\n");
        printf("Please inut :\n");
        printf("1.排序(由小至大)\n");
        printf("2.排序(由大至小)\n");
        printf("3.離開\n");
        printf("==================================\n");
        scanf("%d", &input);
        switch(input) {                       // 使用 switch 來做選擇好了
            case 1:                            // case 1 : 由小到大排序
                    for( i = 0; i < 5; i++ ) {   
                        printf("%d ", age[i]);
                        for( j = 0; j < 5; j++ ) {
                            if( i == remenber[j] ) { // 將對應的號碼 ,呼叫 name
                                printf("%s ", name[j]);
                            }
                        }                    
                    }
                    printf("\n");
                    break;
            case 2:                             // case 2 : 由大到小排序
                    for( i = 4; i >= 0; i-- ) {
                        printf("%d ", age[i]);
                        for( j = 0; j < 5; j++ ) {
                            if( i == remenber[j] ) { // 將對應的號碼 ,呼叫 name
                                printf("%s ", name[j]);
                            }
                        }        
                    }
                    printf("\n");
                    break;
            case 3:                              // case 3 : 離開程式
                    printf("Thanks for your come in, Bye Bye.\n"); // 跟你說 bye bye 囉
                    return;
                    break;
        }
    }while( input != 3 );                      // 如果選項不是 3 , 就一直 run 迴圈
return 0;
}

arrow
arrow
    全站熱搜

    Walter Blyss 發表在 痞客邦 留言(0) 人氣()