题目来源:大工慕课 链接
作者:Caleb Sung
参考代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a[10],i,j,t;
srand(time(NULL));
for(i=0;i<10;i++)
a[i]=rand()%100+0;
printf("随机生成的数组: \n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
sort(a);
/*输出排序结果*/
printf("\n排序后的数组: \n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
sort(int a[]){
/*排序*/
int i, j, t;
for(j=0;j<9;j++) /*外循环控制排序趟数,n个数排n-1趟*/
for(i=0;i<9-j;i++) /*内循环每趟比较的次数,第j趟比较n-j次*/
if(a[i]>a[i+1]) /*相邻元素比较,逆序则交换*/
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
运行效果
【输出】
随机生成的数组:
84 23 55 14 52 99 27 88 88 69
排序后的数组:
14 23 27 52 55 69 84 88 88 99