原代码如下:
#include"stdio.h"
#define SIZE 10
main()
{int a[SIZE]={3,8,7,6,5,0,1,2,9,4};
int min,pos;
int i,j;
printf("数组中存放数据是:\n");
for(i=0;i<SIZE;i++)
printf("%d ",a[i]);
for(i=0;i<SIZE-1;i++)
{min=a[i];
pos=i;
for(j=i+1;j<SIZE;j++)
if(a[j]<min)
{min=a[j];
pos=j;
}
a[pos]=a[i];
a[i]=min;
printf("\n经过第%d次排序后,数组变为:\n",i+1);
for(j=0;j<SIZE;j++)
printf("%d ",a[j]);
}
}
运行结果如下:
数组中存放数据是:
3 8 7 6 5 0 1 2 9 4
经过第1次排序后,数组变为:
0 8 7 6 5 3 1 2 9 4
经过第2次排序后,数组变为:
0 1 7 6 5 3 8 2 9 4
经过第3次排序后,数组变为:
0 1 2 6 5 3 8 7 9 4
经过第4次排序后,数组变为:
0 1 2 3 5 6 8 7 9 4
经过第5次排序后,数组变为:
0 1 2 3 4 6 8 7 9 5
经过第6次排序后,数组变为:
0 1 2 3 4 5 8 7 9 6
经过第7次排序后,数组变为:
0 1 2 3 4 5 6 7 9 8
经过第8次排序后,数组变为:
0 1 2 3 4 5 6 7 9 8
经过第9次排序后,数组变为:
0 1 2 3 4 5 6 7 8 9
[Process completed - press Enter]