题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入输出描述 

输入格式

两行,第一行一个数n,表示随机数的个数,第二行,n个随机数

输出格式

一行,去重,排序后的数

输入输出格式

输入样例#1            输出样例#1 

5

1 1 2 2 3                              1 2 3

输入样例#2            输出样例#2   

4

1 1 2 2                                 1 2

代码

#include<bits/stdc++.h>//万能头文件
using namespace std;
int main()
{
	int n,tmp;//n是数据个数,tmp是桶排序,输入变量
	cin>>n;
	int a[1001];//桶排序数组
	memset(a,0,sizeof(a));
	for(int i=0;i<n;i++)
	{
	    cin>>tmp;
	    a[tmp]++;//对应桶数量++
	    tmp=0;
	}
	for(int i=0;i<1000;i++)
	{
	    if(a[i]>0)//如果桶里有数,输出
	    {
	        cout<<i;
	    }
	}
	return 0;
}