思路:1.输入数据;2.删除重复数据;3.用快速排序重新排列。

#include<stdio.h>
#include<string.h>

void swap(int *a, int x, int y){
	int tmp=a[y];
	a[y]=a[x];
	a[x]=tmp;
}

void sort(int *a, int left, int right){
	if(left>=right){
		return ;	
	}
	int i=left;
	int j=right;
	int key=a[left];
	
	while(i<j){
		while(i<j && key<=a[j]){
			j--;
		}	
		swap(a,i,j);
		while(i<j && key>=a[i]){
			i++;
		}
		swap(a,i,j);
	}
	sort(a,left,i-1);
	sort(a,i+1,right);
}

int main(){
    int a[1001];
    int i,j,k,n;
    while(scanf("%d",&n)!=EOF){
        for (i=0;i<n;i++){
            scanf("%d",&a[i]);
        }
        for(i=0;i<n-1;i++){
        	for(j=i+1;j<n;j++){
        		if(a[i]==a[j]){
        			for(k=j;k<n;k++){
        				a[k]=a[k+1];
					}
					j--;
					n--;
				}
			}
		}
		sort(a,0,n-1);
		for(i=0;i<n;i++){
			printf("%d\n",a[i]);
		}
    }
    return 0;
}