3. 编写将n个数从小到大排序的函数,要求该函数返回排序过程中交换的次数,并设计main函数,验证算法正确与否。求指证问题怎么解决

#include <stdio.h>
int sort(int a[],int n)
{
int i,j,k=0;
int v;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
v=a[i];
a[i]=a[j];
a[j]=v;
k=k+1;
}
}
return(k);
}
int main()
{
int sort(int a[],int n);
int i,n;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{

scanf("%d",&a[i]);
}

printf("交换次数为%d\n",sort(a[n],n));
return 0;

}

可以使用冒泡排序,
案例很多
你这个是在一个个遍历,很慢的