c语言字符串差集,数组求交集并集差集问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我的思路是先让数组a中的数和数组b中的数一个个比较,相同的放入一个数组c,不同的放入另一个数组aa,

再让数组b中的数和数组a中的数一个个比较,相同的直接不管,不同的放入数组bb。

比如

输入数组a为abcde

数组b为def

则c【1】=d ,c【2】=e

aa【1】=a ,aa【2】=b,aa【3】=c

bb【1】=f

最后输出的时候交集输出c

差集a-b输出aa

差集b-a输出bb

并集输出aa,bb,c

但是代码运行结果不对,不知道哪里错了。

以下是代码和运行图

#include

#define N 20

main(){

char a[N],b[N],c[N],d[N];

char aa[N],bb[N];

int i,j,k=1;

int x=1,y=1,z;

int m,n;

int flag;

printf("please input Number of A:\n");

scanf("%d",&m);

printf("please input Number of B:\n");

scanf("%d",&n);

printf("please input A:\n");

for(i=1;i<=m;i++)

{

scanf("%c",&a[i]);

}

printf("please input B:\n");

for(i=1;i<=n;i++)

{

scanf("%c",&b[i]);

}

for(i=1;i<=m;i++)

{

flag=0;

for(j=1;j<=n;j++)

{

if(a[i]==b[j])

{

c[k]=a[i];

k++;

flag=1;

continue;

}

}

if(flag==0)

{

aa[x]=a[i];x++;

}

}

for(i=1;i<=n;i++)

{

flag=0;

for(j=1;j<=m;j++)

{

if(b[i]==a[j])

{

flag=1;

continue;

}

}

if(flag==0)

{

bb[y]=b[i];

y++;

}

}

printf("A-A与B的交集:\n");

for(i=1;i

printf("B-A与B的交集:\n");

for(i=1;i

printf("A与B的交集:\n");

for(i=1;i

printf("A与B的并集:\n");

for(i=1;i

for(i=1;i

for(i=1;i

printf("\n");

return 0;

}

e4a18fa4d46b7185135e1be7ee83de66.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值