题目大意:

给定一个数组,里面有n个元素(有重复的),输入没有重复的。

例如:一个数组a[6] = {1,1,2,2,3,3},则输出为1,2,3

具体思路请看代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
    int n, a[110], b[110];//a是存放n个元素的数组,b是用来存放去重之后的数
    int m = 0;//记录当前b到底存了多少个元素
    scanf(\"%d\", &n);
    for(int i = 0; i < n; ++i)
        scanf(\"%d\", &a[i]);
    for(int i = 0; i < n; ++i)
    {
        int j = 0;
        for(; j < m; ++j)
        {
            if(a[i] == b[j])//拿a[i]与b中的元素比较
                break;//如果找到相同的就跳出循环
        }
        if(j == m)//则没有找到相同的
        {
            b[m++] = a[i];//把a中不同的存到b中
        }
    }
    for(int i = 0; i < m; ++i)
        printf(\"%d%c\", b[i], i==m-1?\'\\n\':\' \');
    return 0;

}

 

收藏 打印