直接插入的问题,求赐教
程序如下,能够编译运行,但是运行出的结果总是不完整。比如十个数的排序,前面会出现两个反常的数,然后剩下八个正常排列。#include <stdio.h>
void main ()
{
int i,j;
int a[30];
void sort (int r[],int k);
void print(int r[],int k);
printf("please input a number<30\n");
scanf("%d",&i);
for(j=0;j<i;j++)
scanf("%d",&a[j]);
sort (a,i);
print(a,i);
}
void sort (int r[],int k)
{
int a,b,t=0;
for (a=2;a<=k;a++)
{
r[t]=r[a];
b=a-1;
while(r[t]<r[b])
{
r[b+1]=r[b];b--;
r[b+1]=r[t];
}
}
}
void print (int r[],int k)
{
int i;
for (i=0;i<k;i++)
{if(i%5==0) printf("\n");
printf("%5d",r[i]);
}
}