#include <stdio.h>
void main()
{
int a[10]={3,5,6,1,3,4,8,9,13,1};
int i,j,max,flag=0;
printf("原始顺序:\n");
for(j=0;j<10;j++)
printf("%3d",a[j]);
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
max=a[i];
flag=1;
}
else
{
flag=0;
break;
}
}
if(flag==1)
break;
}
printf("\n最大值在前面顺序:\n");
file://三种情况的排序
if(i==0)
{
for(j=0;j<10;j++)
printf("%3d",a[j]);
printf("\n");
}
if(i==10)
{
max=a[9];
for(j=9;j>0;j--)
{
a[j]=a[j-1];
}
a[0]=max;
for(j=0;j<10;j++)
printf("%3d",a[j]);
printf("\n");
}
if(i!=0&&i!=10)
{
for(j=i;j>0;j--)
{
a[j]=a[j-1];
}
a[0]=max;
for(j=0;j<10;j++)
printf("%3d",a[j]);
printf("\n");
}
}
兄弟,供参考,刚编的不足的请指出.循环的地方还可以优化!