有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

【有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。】如果:排序好的数组是从小到大;
下面给一个有bug的代码(如果输入的数字小于第一个数,这个数没办法插入到第一个),欢迎大神指正!
代码:
#include
int main()
{
int a[5] = {1,3,5,6};
int n,i,temp;
scanf("%d", &n);
if(n>=a[3])
a[4] = n;
else
{
for(i=3; i>=0; i--)
{
if(n>=a[i])
{
for( ; i<5; i++)
{
temp = a[i+1];
a[i+1] = n;
n = temp;
}
}
}
}
for(i=0; i<5; i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

    推荐阅读