输出数组时出现乱七八糟的数字

/函数的功能:如果flag==0,则函数实现对数组a的前m个元素进行降序排列, //如果flag!=0,则对数组a的前m个元素进行升序排列.#include<stdio.h>int main(){void sortp(int a[],int m,int flag); int a[10],m=6,i=0,flag; printf("please input numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[10]); printf("flag is:"); scanf("%d",&flag); sortp(a,m,flag); printf("the numbers is:\n"); for(i=0;i<m;i++) printf("%d\n",a[i]); return 0;}void sortp(int a[],int m,int flag){int i,j,t; if(flag==0) {for(i=0;i<m-1;i++) {for(j=i+1;j<m;j++) if(a[i]<a[j]) t=a[j]; a[j]=a[i]; a[i]=t;} printf("降序排列为:\n"); } if(flag!=0) {for(i=0;i<m-1;i++) {for(j=i+1;j<m;j++) if(a[i]>a[j]) t=a[j]; a[j]=a[i]; a[i]=t;} printf("升序排列为:\n"); }}

#include <stdio.h>
int main()
{
    void sortp(int a[], int m, int flag);
    int a[10], m = 6, i = 0, flag;
    printf("please input numbers:\n");
    for (i = 0; i < 10; i++)
        scanf("%d", &a[i]); // 10 ===>  i
    printf("flag is:");
    scanf("%d", &flag);
    sortp(a, m, flag);
    printf("the numbers is:\n");
    for (i = 0; i < m; i++)
        printf("%d\n", a[i]);
    return 0;
}
void sortp(int a[], int m, int flag)
{
    int i, j, t;
    if (flag == 0)
    {
        for (i = 0; i < m - 1; i++)
        {
            for (j = i + 1; j < m; j++)
                if (a[i] < a[j])
                { //  加{}
                    t = a[j];
                    a[j] = a[i];
                    a[i] = t;
                }
        }
        printf("降序排列为:\n");
    }
    if (flag != 0)
    {
        for (i = 0; i < m - 1; i++)
        {
            for (j = i + 1; j < m; j++)
                if (a[i] > a[j])
                {  //  加{}
                    t = a[j];
                    a[j] = a[i];
                    a[i] = t;
                }
        }
        printf("升序排列为:\n");
    }
}

麻烦用代码块格式化一下吧,实在看不清