你这种排序方法逻辑上是错误的,另外当i=n-1时,a[i+1]就越界了,你可以参考一下冒泡排序算法:其中n表示排序的个数
for (i = 0; i< n - 1; i++) //比较n-1轮
{
for ( j = 0; j< n - 1 - i; j++) //每轮比较n-1-j次,
{
if (a[j] > a[j+1]) //从小到大
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}