这个用指针对数组升序排序咋做呀

#include<stdio.h>
#define N 20
main()
{
int a[N],t,*q,*p,*min;
int n;
scanf("%d",&n);
for(p=a;p<a+n;p++)
{
scanf("%d",p);
}

for(p=a;p<a+n;p++)
{
    printf("%d ",*p);
}

}

你这个只是完成了元素的输入,并没有排序啊。

修改如下,供参考:

#include<stdio.h>
#define N 20
int main()
{
    int a[N],t,*q,*p,*min;
    int n;
    scanf("%d",&n);
    for(p=a;p<a+n;p++)
        scanf("%d",p);

    for(p = a;p < a + n - 1; p++){   //排序
        for(q = p+1; q < a + n; q++){
            if(*q < *p){       //升序
               t = *q;
               *q = *p;
               *p = t;
            }
        }
    }
    for(p=a;p<a+n;p++)
    {
        printf("%d ",*p);
    }
 
    return 0;
}