c语言写到一半不会了求代码

img

供参考:


#include <stdio.h>
#define N 10
void main()
{
        int i,j,t,a[N+1]={9,3,34,56,12,7,2,88,36,77},num;

        for(i=0;i<N-1;i++)
           for(j=i+1;j<N;j++)
              if(a[i]>a[j])
                {t=a[i];a[i]=a[j];a[j]=t;}
        printf("从小到大排序为:");
        for(i=0;i<N;i++)
                printf("%d ",a[i]);
        printf("\n");

        printf("请输入插入的一个数:");
        scanf("%d",&num);
        if(num>a[N-1]) a[N]=num;
        else if(num<a[0]){
                        for(i=N-1;i>=0;i--)
                                a[i+1]=a[i];
                        a[0]=num;
        }
        else{
             for(i=N-1;i>=0;i--)
                     if(num<a[i])
                          a[i+1]=a[i];
                     else{
                          a[i+1]=num;
                          break;
                     }
        }
        for(i=0;i<N+1;i++)
                printf("%d ",a[i]);
        printf("\n");
        
}

先排序,排序完比较当前数放在哪里合适,插入进去即可,后续数向后挪一位