排序过程: (1)比较第一个数与第二个数,若为逆序( a[0]>a[1] ),则交换;然 后比较第二个数与第三个数;依次类推,直至第n-1个数和第 n个数比较为止——第一趟冒泡排序,结果最大的数被安置在 最后一个元素位置上 (2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置 (3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
#include <stdio.h>
int main()
{
int i, j, p, t, a[10];
printf("\n input 10 numbers:\n");
for (i=0;i<9;i++)
scanf("%d", &a[i]);
for (i=0;i<9;i++) //第i轮排序
{ p=i;
for (j=i+1;j<10;j++) //找最小元素
if (a[j]<a[p]) p=j;
if (i!=p) { t=a[i]; a[i]=a[p]; a[p]=t; } //交换
printf("%8d",a[i]);
}
}