中易网

用C语言编写一个集合的交,并和差运算的程序怎么写啊?

答案:3  悬赏:0  
解决时间 2021-01-17 02:05
  • 提问者网友:抽煙菂渘情少年
  • 2021-01-16 15:33
用C语言编写一个集合的交,并和差运算的程序怎么写啊?
最佳答案
  • 二级知识专家网友:一袍清酒付
  • 2021-01-16 17:01

#include
#include
void main()
{
char temp[60]="",str1[30]="",str2[30]="",i,j,l1,l2,ch;
printf("STR1:");
gets(str1);
printf("STR2:");
gets(str2);
l1=strlen(str1);
l2=strlen(str2);
//交集
printf("
交集:
{");
for(i=0;i for(j=0;j if(str1[i]==str2[j]) printf("%c,",str1[i]);
printf("}
");

//并集 偷懒的算法: 合并->排序->删除相同
printf("
并集:
{");

sprintf(temp,"%s%s",str1,str2);

for(i=0;i for(j=i+1;j if(temp[i]>temp[j])
{
char ch;
ch=temp[i];
temp[i]=temp[j];
temp[j]=ch;
}

for(i=j=1;i if(temp[i]!=temp[j-1]) temp[j++]=temp[i];
temp[j]="";
for(i=0;i printf("%c,",temp[i]);
printf("}
");
//CuA
printf("
CuA:
{");
for(ch="a";ch<="z";ch++)
{
for(i=0;i if(ch==str1[i]) goto NOT;
printf("%c,",ch);
NOT:if(0);
}
printf("}
");
//CuB
printf("
CuB:
{");
for(ch="a";ch<="z";ch++)
{
for(i=0;i if(ch==str2[i]) goto NOT2;
printf("%c,",ch);
NOT2:if(0);
}
printf("}
");
}
全部回答
  • 1楼网友:行雁书
  • 2021-01-16 19:09
做一个链表,二重循环查找呗,先做实现,简单一点,然后再优化
  • 2楼网友:纵马山川剑自提
  • 2021-01-16 18:24
A E-mail for you
Don't you found it ?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息