【PTA】动态内存中数据排序

读入整数N,再读入N个整数,将这N个整数从小到大排序后输出。(不能定义整型数组,用动态内存技术实现)

输入样例:

5
1 5 3 4 2
 

输出样例:

1 2 3 4 5

#include <stdio.h>
#include <stdlib.h>
void sort(int *a,int n)
{
    int i,j,t;
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];a[i]=a[j];a[j]=t;
            }
        }
    }
}
int main()
{
    int N,i,*a;
    scanf("%d",&N);
    a=(int *)malloc(N*sizeof(int));
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a,N);
    for(i=0;i<N-1;i++)
    {
        printf("%d ",a[i]);
    }printf("%dn",a[i]);
    return 0;
}