int main()
{
    int n = 0;
    int arr[1001] = {0};
    int tmp = 0;
    scanf("%d",&n);
    int i = 0;
    for(i=0;i<n;i++)
    {
        scanf("%d ",&tmp);
        arr[tmp] = tmp;
    }
    for(i=0;i<1001;i++)
        {
            if(arr[i] != 0)
                printf("%d ",i);
        }
    return 0;
}

输入的是1~1000的数字,tmp不仅是数组下标-1也是我们输入的数字,然后因为数组被初始化为0;直接将不是0的数字打印出来,顺序是从小到大。