精華區beta NCTU-STAT98G 關於我們 聯絡資訊
EX2: 將X[10]從小到大排列, 並印出相對應Y[10]的英文內容 之前介紹用兩個for迴圈來做排序法 這邊嘗試用while+一個for迴圈來改寫 這邊大家可以想像一下 用兩個for迴圈跟下面while+一個for迴圈 哪個會比較快? #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int i,j,tru=1,temp1,temp2; int X[10]={9,1,3,5,2,11,6,8,5,4}; char Y[10]={'O','Y','U','R','O','D','G','O','E','A'}; while (tru!=0) { tru=0; for (i=0;i<9;i++) { if (X[i]>X[i+1]) { temp1=X[i]; X[i]=X[i+1]; X[i+1]=temp1; temp2=Y[i]; Y[i]=Y[i+1]; Y[i+1]=temp2; tru=1; } if (tru==1) break; } } for (i=0;i<10;i++) printf("%d",X[i]); printf("\n"); for (i=0;i<10;i++) printf(" %c",Y[i]); printf("\n"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.48.157