1.要求:
输入一个数n<=1000
再输入n个数
输出这n个数从小到大无重复处理后的结果
允许多个测试案例
2.本人简单粗暴式
#include<iostream>
using namespace std;
int main()
{
int n,count=0;
int a[100];
int i,j,t;
while(cin>>n){//允许多个案例只要在输入前加while就行
for(i=0;i<n;i++){
cin>>a[i];
}
for(i=0;i<n;i++)//姑且就用冒泡排序 排序方法不限
for(j=0;j<n-1-i;j++)
{if(a[j]>a[j+1]){
t=a[j+1];
a[j+1]=a[j];
a[j]=t;}
}
for(i=0;i<n;i++){
if(a[i]==a[i+1])//出现下一个数重复的就跳过输出进入下一循环
continue;
cout<<a[i]<<endl;
}
}
}
//讨论区看见一个大佬的神奇方法 不考虑时间复杂度确实nb
#include <iostream>
using namespace std;
int main() {
int N, n;
while (cin >> N) {
int a[1001] = { 0 };//置零初始化处理
while (N--) {
cin >> n;
a[n] = 1;//将n作为数组下标而不是数组中存储的数 置1表示下标被使用
}//重复的数并没被存储,只是执行了多次a[n]赋值为1的操作
for (int i = 0; i < 1001; i++)//直接按顺序输出存储值为1的数组的下标
if (a[i])
cout << i << endl;
}
return 0;
}//真的牛批