1245:不重复地输出数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 3300 通过数: 1701
【题目描述】
输入n个数,从小到大将它们输出,重复的数只输出一次。保证不同的数不超过500个。
【输入】
第一行是一个整数n。1 ≤ n ≤ 100000。
之后n行,每行一个整数。整数大小在int范围内。
【输出】
一行,从小到大不重复地输出这些数,相邻两个数之间用单个空格隔开。
【输入样例】
5
2 4 4 5 1
【输出样例】
1 2 4 5
思路:定义一个数组,输入数据,然后对数据进行排序,打印第一个数据,循环从第二个到第N个数, 判断前面一个数是否等于后面一个数,如果不相等,则输出数据。
#include<bits/stdc++.h>
using namespace std;
int a[100010],n;
int main()
{
scanf("%d",&n);
for(int i = 1;i <= n;i++) scanf("%d",&a[i]);
sort(a+1,a+1+n);
printf("%d ",a[1]);
for(int i = 2;i <= n;i++){
if(a[i] != a[i-1]) printf("%d ",a[i]);
}
return 0;
}