怎么实现输入数据的升序排列

这段代码应该怎么修改,才能实现不管用户输入几个整数都能实现升序排列的功能

img

这样写,供参考:

#include <stdio.h>
#define N 50
int  Getint(int a[]);
void Sortint(int a[], int n);
void Printint(int a[], int n);
int main()
{
    int a[N], n;
    printf("请输入数组元素,元素间以空格间隔,回车键结束输入:\n");
    n = Getint(a);
    Sortint(a, n);
    Printint(a, n);

    return 0;
}
int Getint(int a[])
{
    int i = 0;
    while (scanf("%d", &a[i++]) == 1 && (getchar()) != '\n');
    return i;
}
void Sortint(int a[], int n)
{
    int i, j, tmp;
    for (i = 0;i < n - 1;i++)
    {
        for (j = i + 1;j < n;j++)
            if (a[i] > a[j])
            {
                tmp = a[i];
                a[i]= a[j];
                a[j]= tmp;
            }
    }
}
void Printint(int a[], int n)
{
    int i;
    for (i = 0;i < n;i++)
        printf(i ? " %d" : "%d", a[i]);
    printf("\n");
}


排序代码写错了

void Sortint(int a[])
{   int k, p;
    int temp;
    printf("升序排列:\n");
    for (k = 0; k < 9; k++)
        for (p = 0; p < 9 - k; p++)
        {   if (a[p] > a[p + 1])
            {   temp = a[p];
                a[p] = a[p + 1];
                a[p + 1] = temp;
            }
        }
    for (k = 0; k < 10; k++)
        printf("%d ", a[k]);
}