1. 题目描述
我们现在有一个int类型的数组,数组内可能会有一个或多个相同的内容, 也可能没有;
要求:无论存不存在相同的元素,请输出来,正序输出,并且每个元素只能出现一次
2. 输入输出描述
2.1 输入描述
输入数组的元素,例如1,1,6,2
2.2 输出描述
无论存不存在相同的元素,正序输出,并且每个元素只能出现一次。
3. 示例
输入
1 1 6 2
输出
[1, 2, 6]
4. 解题记录
- 用一个vector容器接收输入的数组元素,每次输入一个元素,遍历当前vector容器,若不同,则放入容器,若有重复元素,不放入容器
- 对vector容器里面的元素进行排序
- 输出vector容器里面的元素,由于需要考虑输出格式,因此对vector容器里的元素分三种情况
5. 代码实现
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int>a;
int m;
int flag = 0;
while (cin >> m)
{
flag = 0;
for (int i = 0; i < a.size(); i++)
{
if (m == a[i])
{
flag = 1;
break;
}
}
if (flag == 0)
{
a.push_back(m);
}
if (getchar() != ' ')
{
break;
}
}
sort(a.begin(), a.end());
int sumB = 0;
cout << '[';
if (a.size() == 0)
{
cout << ']' << endl;
return 0;
}
if (a.size() >= 1)
{
cout << a[0];
}
for (int i = 1; i < a.size(); i++)
{
cout << ',' << a[i];
}
cout << ']' << endl;
system("pause");
return 0;
}