怎么用C语言编写求两个数组的并集的程序

 我来答
d1...0@33sn.cc
2017-04-17
知道答主
回答量:25
采纳率:0%
帮助的人:14.9万
展开全部

#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;
}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式