编程实现:从键盘输入包含m个整数的集合存入数组a中、包含n个整数的集合存入数组b中,求a和b的并集c。要求:用指针操作数组。输入输出格式参见样张:
#include <iostream>
using namespace std;
int main ()
{
int a[10],b[10],c[20],m,n,*p,i,j,pos=1;
cout<<"请输入数组的个数m:";
cin>>m;
cout<<"请输入数组的"<<m<<"个数:"<<endl;
for (p=a;p<a+m;p++)
cin>>*p;
cout<<"请输入数组的个数n:";
cin>>n;
cout<<"请输入数组的"<<n<<"个数:"<<endl;
for (p=b;p<b+n;p++)
cin>>*p;
p=a;
for (i=0;i<m;i++)
c[i]=*(p+i);
p=b;
for (i=0;i<n;i++)
c[m+i]=*(p+i);
p=c;
for (i=1;i<m+n;i++)
{
for (j=0;j<pos;j++)
if (*(p+i)==*(p+j))
break;
if (j==pos)
*(p+pos++)=*(p+i);
}
cout<<"并集为:"<<endl;
for (i=0;i<pos;i++)
cout<<*(p+i)<<" ";
cout<<endl;
return 0;
}
运行结果如下: