c语言排序问题问一下

img

#include <stdio.h>
int main()
{
    int a[1000];
    int n,m,i,j;
    scanf("%d%d",&n,&m)
    if(n!=0 && m!=0)
    {
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(i=0;i<n;i++)
        {
            if(a[i] > m)
            {
                for(j=n;j>i;j--)
                    a[j] = a[j-1];
                a[i] = m;
                break;
            }
        }
        if(i==n)
            a[i] = m;
        for(i=0;i<n+1;i++)
            printf("%d ",a[i]);
        printf("\n");
        scanf("%d%d",&n,&m);
    }

}

#include "stdio.h"

#include<stdlib.h>


//冒泡排序
void choose(int a[],int n){
    int i,j,temp;
    for(i=1;i<n;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;
            }
        }    
    }    
}
//输出
void output(int a[],int n){
    int i;
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);    
}
void main()
{
    
    int a[1000];
    int n;
    int i;
    printf("请输入N:");
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);    
    }
    //冒泡排序
    choose(a,n);
    //输出
    output(a,n);
}