用C语言写一个子函数完成对一整型数组从大到小的排序

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:58:41
要求:a)在主函数中对数组赋值
b)在主函数中输出排好序的数组

#include<stdio.h>
#include<stdlib.h>

int main()
{
void sort(int x[],int n);
int *p,i;
int N;
printf("please input the total num:");
scanf("%d",&N);
int a[N];
printf("please input the %d num:\n",N);
p=a;
for(i=0;i<N;i++)
scanf("%d",p++);
p=a;
sort(p,N);
for(p=a,i=0;i<N;i++)
{printf("%d ",*p);p++;}
system("pause");
}

void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]<x[k])
k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}