怎么用C语言编写求两个数组的并集的程序
2个回答
展开全部
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
char a[20],b[20];
int n,m,j,k;
printf ("请输入第一个集合内容\n");
scanf ("%s",a);
j=strlen(a);
printf ("请输入第二个集合内容\n");
scanf ("%s",b);
k=strlen(b);
printf ("集合的交集是:"); ///////////////////////计算2个数组的交集//////////////////// //flag标志位,index数组下标标志位 int flag=1, index=0; //c[20]保存交集的数组,d[40]保存并集的数组
char c[20]="",d[40]="";
for (n=0;n<j;n++)
{
for (m=0;m<=k;m++)
{
if(a[n] == b[m])
{
c[index++] = a[n];
break;
}
}
}
printf("\n%s\n",c); ////////////////////////////计算2个数组的并集/////////////////////// flag=1;
index=0;
for (n=0;n<j;n++)
{
for(m=0;m<index;m++)
{
if(d[m] == a[n])
flag=0;
}
if(flag)
{
d[index++]=a[n];
}
flag=1;
}
flag=1;
for (n=0;n<j;n++)
{
for(m=0;m<index;m++)
{
if(d[m] == b[n])
flag=0;
}
if(flag)
{
d[index++]=b[n];
}
flag=1;
} printf ("集合的并集是:");
printf("\n%s\n",d);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询