基础练习:1117:整数去重

1117:整数去重
【题目描述】
给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。

【输入】
输入包含两行:

第一行包含一个正整数n(1 ≤ n ≤ 20000),表示第二行序列中数字的个数;

第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于10、小于等于5000。

【输出】
输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。

【输入样例】
5
10 12 93 12 75
【输出样例】
10 12 93 75

#include<iostream>
using namespace std;
int main()
{   int n,m[20001],i,j;
    bool t[20001];                              //注意这里定义的是bool型函数
    cin>>n;
    for(i=1;i<=n;i++)
    {  cin>>m[i];
	    t[i]=true;
	}
	for(i=1;i<=n;i++)
      if(t[i]==1)
	   for(j=i+1;j<=n;j++)
	     if(m[i]==m[j])
		    t[j]=false;
	  
	
	for(i=1;i<=n;i++)
	  if(t[i]==true)
	   cout<<m[i]<<" ";
	cout<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43886420/article/details/85260715