#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void sort(int a[],int n)
{ int i,j,t
for(i=0 i<n-1 i++) //共进行n-1轮
{ for(j=0 j<n-1-i j++) //j的范围:0~n-1-i
if(a[j]>a[j+1]) //比较相邻两数:a[j]、a[j+1],如不对就交换
{ t=a[j]
a[j]=a[j+1]
a[j+1]=t
}
}
}
int main()
{ int n,i,a[10000]
scanf("%d",&n)
srand(time(0))
for(i=0 i<n i++)
{ a[i]=rand()%100
printf("%4d",a[i])
}
printf("\n")
sort(a,n)
for(i=0 i<n i++)
printf("%4d",a[i])
printf("\n")
return 0
}
sort不属于C语言的标准函数,所以也没有相应的头文件,但是可以自定义。
sort 函数为将整型数组从小到大排序。
voidsort(int*a,intl)//a为数组地址,l为数组长度。
{
inti,j
intv
//排序主体
for(i=0i<l-1i++)
for(j=i+1j<lj++)
{
if(a[i]>a[j])//如前面的比后面的大,则交换。
{
v=a[i]
a[i]=a[j]
a[j]=v
}
}}
扩展资料
c语言自有的qsort函数
#include<stdio.h>
#include<stdlib.h>
intcomp(constvoid*a,constvoid*b)//用来做比较的函数。
{
return*(int*)a-*(int*)b
}
intmain()
{
inta[10]={2,4,1,5,5,3,7,4,1,5}//乱序的数组。
inti
qsort(a,n,sizeof(int),comp)//调用qsort排序
for(i=0i<10i++)//输出排序后的数组
{
printf("%d\t",array[i])
}
return0
}