【C】Call by Address - No.47
47.編寫一氣泡排序法程式可將 int a [10] = {45, 23, 18, 10, 6, 8, 67, 98, 30, 50 } 由小到大排列出來,其中必須呼叫一交換資料 swap(int x, int y) 的函數, 其功能為變數 x 和 y 的內容交換。(Call by Address) #include #include void swap(int *,int *); int a[10]={78,14,25,63,47,28,17,52,61,44}; int main(){ int i,j,t; printf("原陣列為:"); for(i=0;i<10;i++){ printf("%d ",a[i]); } printf("\n"); printf("排列後為:"); for(i=0;i<9;i++){ for(j=i+1;j<10;j++){ if(a[i]<a[j]){ swap(&a[i],&a[j]); } } } for(t=0;t<10;t++){ printf("%d ",a[t]); } system("pause"); return 0; } void swap( int *x, int *y){ int temp,t; temp = *x; *x = *y; *y = temp; return 0; }