未这个代码能够实现排序,但是未把数组a里面的12换成比15大的数的时候8就丢失了,但是改的比15小的数就没问题
是在是想不明白了
另外这个还可优化吗?以小弟刚刚学到这里,表用后面的啊 看不懂啊!
#include <stdio.h>
void main()
{
int a[6]={5,8,6,3,12,15};
int b[6];
int i, k, j;
printf("未排序的数组:");
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}
printf("\n");
//排序
b[0]=a[0];
for(i=1;i<6;i++)
{
for(j=0;j<i;j++)
{
if(a[i]<b[j])
{
for(k=i;k>0;k--)
{
b[k]=b[k-1];
}
b[j]=a[i];
break;
}
else if(a[i]>b[i-1])
{
b[i]=a[i];
}
}
}
//输出
printf("排序后的数组:");
for(i=0;i<6;i++)
{
printf("%d ",b[i]);
}
printf("\n");
getchar();
}
[此贴子已经被作者于2006-7-27 16:48:20编辑过]