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

如题所述

#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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-24
定义两个数组进行比较