一次循环排序打印算法
#include <stdio.h>#define N 80
void main()
{
int a[N],i,n,temp,k=1,j=1;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(a[i]==0)
break;
}
n=i;i=1;
for(;;i++)
{if(k%n==0)
{
if(j%(n+1)==0)
break;
else
{
printf("%5d",a[j-1]);
j++;
}
}
else
{
if(i%n==0)
i=1,k++;
if(a[i]<a[i-1])
{temp=a[i];a[i]=a[i-1];a[i-1]=temp;}
}
}
getch();
}