2005-06-20

【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;
}

沒有留言 :

張貼留言

謝謝您的寶貴意見,凍仁一定會盡快處理 ~^^