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

 我来答
风若远去何人留
推荐于2017-12-16 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450110
专业C/C++软件开发

向TA提问 私信TA
展开全部
#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;
}
vo...6@sohu.com
2016-12-24 · TA获得超过178个赞
知道答主
回答量:255
采纳率:0%
帮助的人:38.4万
展开全部
定义两个数组进行比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式