#include
int data_1[10]={9,8,7,6,5,4,3,2,1,0},data_2[10]={9,8,7,6,5,4,3,2,1,0};/*全局数组,这里的全局数组只是为了便于初始化的修改,其实在主函数内定义照样可以通*/
void main()
{
void arrange(int* a,int n); // 自定义函数声明
int i;
printf("Before arrangemnet:\n");// 输出排序前两个数组
printf("data_1[10]:\n");
for(i=0;i<10;i++)
printf("%d ",data_1[i]);
printf("\ndata_2[10]:\n");
for(i=0;i<10;i++)
printf("%d ",data_2[i]);
printf("\n");
arrange(data_1,10);arrange(data_2,8);// 调用自定义函数分别排序前10个和前8个元素
printf("After arrangemnet:\n");// 输出排序后两个数组
printf("data_1[10]:\n");
for(i=0;i<10;i++)
printf("%d ",data_1[i]);
printf("\ndata_2[10]:\n");
for(i=0;i<10;i++)
printf("%d ",data_2[i]);
printf("\n");
}
void arrange(int* a,int n) /*自定义函数部分,指针a接受传输来的数组首地址,n接受
交换的个数*/
{ int i,t,*j=NULL;
for(i=n-1;i>0;i--) //这里就是冒泡排序!!!只不过和指针结合在一起!
for(j=a;j if(*(j+1)<*j) {t=*(j+1);*(j+1)=*j;*j=t;}
}
?