void sort(int *a,int N) //选择排序
{
int i,j,k,t;
for (i = 0; i
for (j=i+1; j
if (k!=i) {
t=*(a+k);
*(a+k)=*(a+i);
*(a+i)=t;
}
}
*****************************************
示例程序:
//---------------------------------------------------------------------------
#include
void sort(int *a,int N)
{
int i,j,k,t;
for (i = 0; i
for (j=i+1; j
if (k!=i) {
t=*(a+k);
*(a+k)=*(a+i);
*(a+i)=t;
}
}
}
int main(int argc, char* argv[])
{ int a[10],i;
for (i = 0; i < 10; i++) {//对数组进行填充
a[i]=10-i;
}
for (i = 0; i < 10; i++) {//输出排序之前的情况
printf("%d ",a[i]);
}
putchar('\n');//换行
sort(a,10);//调用sort()函数进行排序
for (i = 0; i < 10; i++) {//输出排序之后的情况
printf("%d ",a[i]);
}
putchar('\n');
return 0;
}
//---------------------------------------------------------------------------
解:源程序如下:
#define n 10
int sort(int a[])
{
int i,j,t;
for (i=0;i
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
main()
{
int a[n],i;
for (i=0;i
sort(a);
printf("the sort numberes is:\n");
for (i=0;i
}
#include
void exchange(int a[])
{
int i,j,temp;
for(j=9;j>=0;j--)
for(i=0;i
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
main()
{
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
exchange(a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}