#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;
}
- Jul 26 Sun 2009 10:14
姓名排序給知識+的 給我妳的愛
close
全站熱搜
留言列表
發表留言