#include<stdio.h>
int main()
{
int n,i,delay,time;
int x[1001]={};
int z;
while(scanf("%d",&n)!=EOF)
{
time=0;
for(i=0;i<n;i++)
{
scanf("%d",&x[i]);
}
z=i-1;
while(1)
{
if(x[z]<x[z-1])
{
delay=x[z];
x[z]=x[z-1];
x[z-1]=delay;
}
z-=1;
if(z<0)
{
z=i-1;
time+=1;
}
if(time==i-1)
break;
}
for(i=0;i<n;i++)
printf("%d ",x[i]);
for(i=0;i<n;i++)
x[i]=0;
printf("\n");
}
}
奇妙的是
當我在if(time==i-1)
break;這部分
把i-1改成i
即可AC
求原因