c语言中并集符号的作用,C语言:计算两个集合的并集

#include

#include

#include

#define NUMBER1 7

#define NUMBER2 5

void createCollect(int [],int);

void display(int [],int);

int main()

{

intcollection1[NUMBER1];

int collection2[NUMBER2];

int collection3[NUMBER1+NUMBER2];

int i,j,label=0;

createCollect(collection1,NUMBER1);

for(j = 0;j < NUMBER2;j++)

{

collection2[j]=j*2;

}

printf("集合1:");

display(collection1,NUMBER1);

printf("集合2:");

display(collection2,NUMBER2);

for(i = 0; i < NUMBER1;i++)

{

//从集合1中取出元素,去遍历集合2中的所有元素

for(j = 0;j < NUMBER2;j++)

{

//如果相同则跳出遍历

if(collection1[i]==collection2[j])

break;

}

//判断:此时存在两种情况1) 当前集合1的元素与集合2的元素相同

//2)遍历完了集合2的数组后不存在相同的元素

if(j == NUMBER2)

{

collection3[label]=collection1[i];

label++;

}

}

//把集合2的所有元素存进collection3中

for(j = 0;j < NUMBER2;j++)

{

collection3[label++]=collection2[j];

}

printf("集合1与集合2的并集为:\n");

display(collection3,label);

return 0;

}

//随机生成一个不含重复元素的数组

void createCollect(int num[],int count)

{

//randValue:临时随机数存放变量

//condition:循环生成不重复的条件

int i,j,randValue,condition;

srand(time(NULL));

for(i=0;i

{

condition=1;

while(condition){

randValue=1+(int)rand()%10;

for(j = 0;j <= i;j++){

if(i==0){//第一个数不可能存在重复数,可以直接赋值

condition=0;

break;

}

if(randValue==num[j])

break;

if(randValue!=num[j]&&j==i-1)//当生成的随机数与当前数组最后一位不同并且下标相等时

{

condition=0;

break;

}

}

}

num[i]=randValue;

}

}

//打印数组

void display(int num[],int count)

{

int i;

for(i=0;i

{

printf("%d\t",num[i]);

}

printf("\n");

}并集的计算,在交集的基础上修改两处即可。有什么不足之处请拍砖....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值