建立一个数组先排序然后插入 但是到插入的时候遇到问题了  看下面的注释
#include<stdio.h>
void main()
{
    int a[20],i,j,n,num,temp;
    i=0;
    printf("请输a[]的值,以-1作为结束标志\n\n");                        //建立数组//
    do
    {
        printf("输入a[%d]的值:",i);
        scanf("%d",&a[i]);
    }while(i<19 && a[i++]!=-1);
    n=i-1;
    
    printf("排序前的数组\n");
    for(i=0;i<n;i++)
    {
        printf("%5d",a[i]);
    }
    putchar('\n');
    printf("排序后的数组\n");                //降序排列//
    for(i=1;i<=n-1;i++)
    {
        for(j=n-1;j>=i;j--)
        {
            if(a[j]>a[j-1])
            {
                temp=a[j];
                a[j]=a[j-1];
                a[j-1]=temp;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%5d",a[i]);
    }
    putchar('\n');
    printf("请输入一个要插入的数:");               //实现插入//
    scanf("%d",&num);
    for(i=0;i<n;i++)
    {
        if(num > a[i])
        {
            for(j=n-1;j>=i;j--)
            {
                a[j+1]=a[j];
            }
            a[i]=num;
            break;
        }
        else                                  //如果插入的数比数组中最小的数还小,这段代码怎么写??//
        {
            a[]                                 //我是这样写的 else
        }                                                                 {   a[n+1]=num;}   可是运行时有问题.  请指教
    }                                                                            
    n+=1;
    printf("插入后的数组\n");
    for(i=0;i<n;i++)
    {
        printf("%5d",a[i]);
    }
    printf("\n");
}



											
	    

	

