问题描述:对于给定的n个数,去除其中相同的数,并保留这些数。
样例输入:1 2 3 1 2 3 1 2
样例输出:1 2 3
代码:
#include <iostream>
using namespace std;
int main( )
{
inta[10], b[10], num = 1, i = 0, j = 0;
for (i= 0; i < 8; i ++)
{
cin >> a[i];
}
b[0] = a[0];
for(i =0; i < 8; i ++)
{
for(j= 0;j < num; j ++)
{
if(a[i] == b[j]) //数组a¦中当前下标下得值与b中当前下标下得值相等
{
break;
}
}
if(j>=num ) //不同的加到b数组a¦中
{
b[num ++] = a[i];
}
}
for(int i = 0;i < num;i ++)
{
cout << a[i] << " ";
}
cout << endl;
return0;
}
如果只是输出这n个给定的数中不相同的数使用下面的方法更快。
代码:
#include <iostream>
using namespace std;
int main( )
{
inta[10], i = 0, j = 0;
for (i= 0; i < 8; i ++)
{
cin >> a[i];
}
for(i =0; i < 8; i ++)
{
for(j= 0;j < i;j ++)
{
if(a[i] == a[j]) //是相同的数
break;
}
if(j>=i) //里面的for循-环不是break结束
cout << a[i]<< " ";
}
cout<<endl;
return0;
}
如果有错或者您有更好的方法,请告诉我。谢谢