c语言的集合的交并补

合集下载

集合的并交差与补运算

集合的并交差与补运算

集合的并交差与补运算集合是数学中的一个重要概念,在各个领域中都有着广泛的应用。

在集合论中,有几种常见的集合运算,包括并运算、交运算、差运算和补运算。

这些运算可以帮助我们更好地理解集合之间的关系,进而推导出更多有用的结论。

本文将详细探讨集合的并交差与补运算,并展示它们在实际问题中的应用。

一、并运算在集合中,如果将两个集合A和B进行并运算,就是将它们中的所有元素合并成一个新的集合。

并运算通常用符号“∪”表示。

例如,如果集合A={1, 2, 3},集合B={3, 4, 5},那么A∪B的结果就是新的集合{1, 2, 3, 4, 5}。

并运算具有以下性质:1. 交换律:对于任意两个集合A和B,A∪B = B∪A。

即并运算满足元素的无序性。

2. 结合律:对于任意三个集合A、B和C,(A∪B)∪C = A∪(B∪C)。

即并运算满足结合性。

3. 幂等律:对于任意集合A,A∪A = A。

即并运算对于自身的幂等。

二、交运算与并运算类似,交运算是指将两个集合A和B中共有的元素提取出来构成一个新的集合。

交运算通常用符号“∩”表示。

如果集合A={1, 2, 3},集合B={3, 4, 5},那么A∩B的结果就是新的集合{3}。

交运算也具有类似的性质:1. 交换律:对于任意两个集合A和B,A∩B = B∩A。

即交运算满足元素的无序性。

2. 结合律:对于任意三个集合A、B和C,(A∩B)∩C = A∩(B∩C)。

即交运算满足结合性。

3. 幂等律:对于任意集合A,A∩A = A。

即交运算对于自身的幂等。

三、差运算差运算是指将一个集合A中与另一个集合B中相同的元素去除后得到的新集合。

差运算通常用符号“-”表示。

如果集合A={1, 2, 3},集合B={3, 4, 5},那么A-B的结果就是新的集合{1, 2}。

差运算的性质如下:1. 差集的结果只包含属于集合A但不属于集合B的元素。

2. 差运算不满足交换律,即A-B通常不等于B-A。

输入集合A、B和全集C,求两集合的交集、并集、补集、差集

输入集合A、B和全集C,求两集合的交集、并集、补集、差集

输⼊集合A、B和全集C,求两集合的交集、并集、补集、差集//输⼊集合A、B和全集C,求两集合的交集、并集、补集、差集/*并集:以属于A或属于B的元素为元素的集合成为A与B的并(集)交集:以属于A且属于B的元素为元素的集合成为A与B的交(集)差:以属于A⽽不属于B的元素为元素的集合成为A与B的差(集)补集:A的补集C-B*//*例如:A={1,2,3} B={2,3,4} C={1,2,3,4,5}AB并集为={1,2,3,4}交集为={2,3}A补集={4,5}AB差集为={1}*/#include <iostream>#include <vector>using namespace std;int main(){vector<int> A,B,C;int temp;cout<<"input A,finished by a character"<<endl;while(cin>>temp)A.push_back(temp);cin.clear() ;//清除错误状态cin.ignore() ;//跳过⽆效数据cout<<"input B,finished by a character"<<endl;while(cin>>temp)B.push_back(temp);cin.clear() ;cin.ignore() ;cout<<"input C,finished by a character"<<endl;while(cin>>temp)C.push_back(temp);cin.clear();cin.ignore();//求交集vector<int> AND;for(int i=0;i<A.size();i++)for (int j=0;j<B.size();j++)if(A[i]==B[j])AND.push_back(B[j]);cout<<"交集为"<<endl;//显⽰交集for(i=0;i<AND.size();i++)cout<<AND[i]<<" ";cout<<endl;//求并集AND.clear();//先把A的元素依次加⼊for(i=0;i<A.size();i++)AND.push_back(A[i]);//加⼊B中有且与A的每⼀个元素都不相等的元素for(int j=0;j<B.size();j++){int k=0;for(i=0;i<A.size();i++)if(B[j]!=A[i])k++;if(k>=A.size())AND.push_back(B[j]);}//显⽰并集cout<<"并集为"<<endl; for(i=0;i<AND.size();i++) cout<<AND[i]<<" "; cout<<endl;return 0;}。

集合的特征函数交并补运算C语言

集合的特征函数交并补运算C语言
int main() { char A[10],B[10],U[100]; int i,j,nu,n1,n2,temp_A[100],temp_B[100];
system("color 1B"); printf("请输入集合 U 元素数目:"); ;scanf("%d",&nu); getchar();
二三四子函数功能equal判断集合a和集合b是否相等main函数输入全集u元素个数和各元素输入全集a元素个数和各元素输入全集b元素个数和各元素获得a和b的特征函数值调用子函数进行交并补运算结束intersect求集合a和集合b的交集union求集合a和集合b的并集complement求集合a或集合b的补集五测试举例六程序源码作者
用集合的特征函数实现集合间的运算
一、 二、 三、
实现功能:利用集合的特征函数实现集合间的运算。 实验说明:本程序用 C 语言编写,具体实现了集合的交并补运算。 程序思路(流程图表示):
Main()函数
输入全集 U 元素个 数和各元素
输入全集 A 元素个数和 各元素
输入全集 B 元素个数和 各元素
获得 A 和 B 的特征函数 值
#include <stdio.h> #include <stdlib.h>
int Equal(int m[100],int n[100],int num){//子函数:判断集合 A 和集合 B 是否相等 int i,flag = 1; for(i=0;i<num;i++){ if(m[i] != n[i]){ flag = 0; } } if(flag == 0) printf("\n 集合 A 和集合 B 不相等\n"); if(flag == 1) printf("\n 集合 A 和集合 B 相等\n"); return 1; }

实现整数集合的并、交、差运算

实现整数集合的并、交、差运算

实现整数集合的并、交、差运算问题:编写⼀个程序,实现⼀个整数集合的基本运算要求:输⼊整数集合{2,4,1,3,5}和{2,5,10},输出前者的元素个数以及它们进⾏集合的并、交、差运算设计⼀个类IntSet,包括私有数据成员len(集合的长度)和数组s(存放集合元素),以及如下⽅法: public void insert(int d) 向集合中添加⼀个元素,重复的元素不能添加public int length() 返回集合的元素个数public int getInt(int i) 返回集合中位置i的元素public void disp() 输出集合的所有元素public IntSet union(IntSet s2) 实现两个集合的并运算public IntSet intersection(IntSet s2) 实现两个集合的交运算public IntSet difference(IntSet s2) 实现两个集合的差运算public IntSet copySet(IntSet s2) 实现两个集合的拷贝Java代码:public class IntSet {private int len; //集合长度private int[] s; //数组public IntSet() {len = 0;s = new int[100];}public void resize() //重置数组{int[] b = new int[2*s.length];System.arraycopy(s, 0, b, 0, s.length);s = b;}public void insert(int d) //集合中插⼊元素{if(len>=s.length){resize();}for(int i=0;i<len;i++) {if(s[i]==d){return;}}s[len]=d;len++;}public int length() //获取集合长度{return len;}public int getInt(int i) {if(i>=0 && i<len){return s[i];}else {return -1;}}public void disp() {for(int i=0;i<len;i++){System.out.print("\t"+s[i]);}}public IntSet union(IntSet s2) //并{int same;for(int i=0;i<this.len;i++){same = 0;for(int j=0;j<s2.len;j++){if(this.getInt(i)==s2.getInt(j)){same = 1;break;}if(same == 0){this.insert(s2.getInt(j));}}}return this;}public IntSet intersection(IntSet s2) { //交int same;for(int i=0;i<this.len;i++) {same = 0;for(int j=0;j<s2.len;j++) {if(this.s[i] == s2.getInt(j)){same = 1; //找到重复的元素,则same=1 break;}}if(same == 0) {//找到不重复的元素,则删除 for(int k=i;k<this.len;k++){this.s[k] =this.s[k+1];}i--;this.len--;}}return this;}public IntSet difference(IntSet s2) { //差int same;for(int i=0;i<this.len;i++) {same = 0;for(int j=0;j<s2.len;j++) {if(this.s[i] == s2.getInt(j)){same = 1; //找到重复的元素,则same=1 break;}}if(same == 1) {//找到重复的元素,则删除for(int k=i;k<this.len;k++){this.s[k] =this.s[k+1];}i--;this.len--;}}return this;}public IntSet copySet(IntSet s2) {this.len = s2.len;for(int i=0;i<s2.len;i++) {this.s[i] = s2.getInt(i);}return this;}}测试代码:public class Test {public static void main(String[] args) { IntSet s1,s2;s1 = new IntSet();s2 = new IntSet();s1.insert(2);s1.insert(4);s1.insert(1);s1.insert(3);s1.insert(5);s1.disp();s2.insert(2);s2.insert(5);s2.insert(10);System.out.println();s2.disp();// s1.union(s2);// System.out.println();// s1.disp();// s1.intersection(s2);// System.out.println();// s1.disp();// s1.difference(s2);// System.out.println();// s1.disp();// IntSet s6 = new IntSet();// s6.copySet(s2);// s6.disp();s2.difference(s1);System.out.println();s2.disp();}}。

【程序】集合的交并差(C语言)

【程序】集合的交并差(C语言)

#include<stdio.h>#include <malloc.h>#include <stdlib.h>#define TURE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;//*******************************************定义顺序表、初始化******************************//#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef struct{ElemType *elem;int length;int listsize;}SqList;Status InitList_Sq(SqList *L)//初始化一个顺序表L,分配预定大小的空间{L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L->elem) exit(OVERFLOW);L->length=0;L->listsize=LIST_INIT_SIZE;return OK;}//******************************************定义顺序表的输入输出函数********************//void Input_Sq(SqList *L)//输入顺序表L的元素,要求先输入顺序表的长度(元素个数){int length,i,x;printf("\nPlease input the SList length:");scanf("%d",&length);L->length=length;printf("\nPlease input %d elemts:",length);for(i=0;i<length;i++){scanf("%d",&x);}}void Output_Sq(SqList L)//依次输出顺序表L的元素{int i;printf("\nThe list elemt:\n");for(i=0;i<L.length;i++)printf("%3d",L.elem[i]);}//**********************************定义插入函数***********************************************//void insert(SqList *L,int i,ElemType e){ElemType *newbase;if(L->length>=L->listsize){newbase=(ElemType*)realloc(L->elem,(LISTINCREMENT+LIST_INIT_SIZE)*sizeof(ElemType));if(!newbase) exit(OVERFLOW);L->elem=newbase;L->listsize=L->listsize+LISTINCREMENT;}for(i=L->length-1;(i>=0)&&(L->elem[i]>e);i--)L->elem[i+1]=L->elem[i];L->elem[i+1]=e;L->length++;}//*********************************实现集合LA、LB并集的函数***************************************//void bing_ji(SqList *La,SqList *Lb,SqList *Lc){int i,j,a,b;ElemType c,e;a=La->length;b=Lb->length;for(i=0;i<a;i++){Lc->elem[i]=La->elem[i];//将a中元素复制进集合c中;Lc->length=a;}for(i=0;i<b;i++){for(j=0;j<a;j++){c=La->elem[j];if(c==e) break;}if(j>=a)insert(Lc,1,e);}}//********************************实现集合LA、LB交集的函数************************************//void jiao_ji(SqList *La,SqList *Lb,SqList *Lc){int i,j,a,b,m=0;ElemType c,e;a=La->length;b=Lb->length;for(i=0;i<b;i++){e=Lb->elem[i];for(j=0;j<a;j++){c=La->elem[j];if(c==e) break;}if(j<a)Lc->elem[m++]=e;}Lc->length=m;}//********************************实现集合LA、LB差集的函数********************************//void cha_ji(SqList *La,SqList *Lb,SqList *Lc){int i,a,b;ElemType m,n,e;a=La->length;b=Lb->length;i=0;while(i<a&&i<b){m=La->elem[i];n=Lb->elem[i];e=m-n;Lc->elem[i]=e;i++;}if(i>=a&&i>=b){Lc->length=i;}elseif(i>=a){while(i<b){Lc->elem[i]=(-1)*Lb->elem[i];i++;}Lc->length=i;}else{while(i<a){Lc->elem[i]=La->elem[i];i++;}Lc->length=i;}}//***********************************集合的交并差,主函数*******************************//void main(){SqList LA,LB,Lbing,Ljiao,Lcha;InitList_Sq(&LA);InitList_Sq(&LB);InitList_Sq(&Lbing);InitList_Sq(&Ljiao);InitList_Sq(&Lcha);Input_Sq(&LA);Output_Sq(LA);Input_Sq(&LB);Output_Sq(LB);jiao_ji(&LA,&LB,&Ljiao);printf("\n集合LA、LB 的交集是:"); int i;for(i=0;i<Ljiao.length;i++)printf("%3d",Ljiao.elem[i]);bing_ji(&LA,&LB,&Lbing);printf("\n集合LA、LB的并集是:"); int j;for(j=0;j<Lbing.length;j++)printf("%3d",Lbing.elem[j]);cha_ji(&LA,&LB,&Lcha);printf("\n集合LA、LB的差集是:"); int k;for(k=0;k<Lcha.length;k++)printf("%3d",Lcha.elem[k]);printf("\n");}。

集合的并、交、补基本运算法则

集合的并、交、补基本运算法则

集合的并、交、补运算满足下列定理给出的一些基本运算法则.之巴公井开创作
定理.设A,B,C为任意三个集合,Ω与Æ分别暗示全集和空集,则下面的运算法则成立:
(1) 交换律:A∪B =B∪A,A∩B =B∩A;
(2) 结合律:(A∪B) ∪C =A∪(B∪C) (可记作A∪B∪C),
(A∩B) ∩C =A∩(B∩C) (可记作A∩B∩C);
(3) 分配律: (A∩B) ∪C =(A∪C)∩(B∪C),
(A∪B) ∩C =(A∩C) ∪(B∩C);
(4) 摩根(Morgan)律: ,;
(5)等幂律: A∪A=A,A∩A=A;
(6) 吸收律: (A∩B)∪A=A,(A∪B)∩A=A;
(7)0―1律: A∪Æ=A,A∩Ω=A,
A∪Ω=Ω,A∩Æ=Æ;
(8)互补律: , Æ;
(9) 重叠律: , .
证.借助文氏(Venn)图绘出分配律第一式以及摩根律第一式的证明,余者由读者模仿完成.
例试证明等式
证.
=Ω∩C=C
对偶.定理的九条定律中的每一条都包含两个或四个公式,只要将其中一个公式中的∪换成∩,同时把∩换成∪,把Æ换成Ω,同时把Ω换成Æ,这样就得到了另一个公式,这种有趣的规则称为对偶原理. 例如,摩根定律中的∪换成∩,∩换成∪,就得到了另一个摩根公式.
例的对偶为;的对偶为;的对偶式是。

离散数学 实验四 编程实现集合的交、并、差和补运算。

离散数学 实验四 	编程实现集合的交、并、差和补运算。

离散数学实验报告专业班级:姓名:学号:实验成绩:1.【实验题目】集合运算2.【实验目的】编程实现集合的交、并、差和补运算。

3.【实验内容】从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。

4. 【实验要求】通过以下界面提示实现相应的集合运算**************************************************************** 请分别输入集合A与集合B的元素:请选择(1—5)要进行的集合运算:1.集合的交运算(A⋂B)2.集合的并运算(A⋃B)3.集合的差运算(A-B)4.集合的补运算(~A=E-A)5.继续/退出(y/n)****************************************************************5. 【算法描述】(1)用数组A,B,C,E表示集合。

假定A={1,3,4,5,6,7,9,10}, B={2,,3,4,7,8,10}, E={1,2,3,4,5,6,7,8,9,10}, 输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。

以下每一个运算都要求先将集合C置成空集。

(2)二个集合的交运算:A⋂B={x|x∈A且x∈B}把数组A中元素逐一与数组B中的元素进行比较,将相同的元素放在数组C 中,数组C便是集合A和集合B的交。

C语言算法:for(i=0;i<m;i++)for(j=0;j<n;j++)if(a[i]= =b[j]) c[k++]=a[i];(3)二个集合的并运算:A⋃B={x|x∈A或x∈B}把数组A中各个元素先保存在数组C中。

将数组B中的元素逐一与数组B中的元素进行比较,把不相同的元素添加到数组C中,数组C便是集合A和集合B 的并。

C语言算法:for(i=0;i<m;i++)c[i]=a[i];for(i=0;i<n;i++){for(j=0;j<m;j++)if(b[i]= =c[j]) break;if(j= =m){ c[m+k]=b[i];k++;}}(4)二个集合的差运算:A-B={x|x∈A且x∉B}将数组A中的元素逐一与数组B中的元素进行比较,把数组A与数组B不同的元素保存在数组C中,数组C便是集合A和集合B的差A-B。

集合的并交运算C语言

集合的并交运算C语言

题目一:集合的并、交运算1设计思想首先;建立两个带头结点的有序单链表表示集合A和B..须注意的是:利用尾插入法建立有序单链表;输入数值是升序排列..其次;根据集合的运算规则;利用单链表的有序性;设计交、并和差运算..根据集合的运算规则;集合A∩B中包含所有既属于集合A又属于集合B 的元素..因此;须查找单链表A和B中的相同元素并建立一个链表存于此链表中..根据集合的运算规则;集合A∪B中包含所有或属于集合A或属于集合B的元素..因此; 遍历两链表的同时若元素相同时只将集合A中的元素存于链表中;若集合A中的下一个元素小于B中的元素就将A中的元素存于新建的链表中..反之将B中的元素存于链表中..2所用数据结构线性结构利用链式存储结构实现集合的基本运算..3源代码分析include<stdio.h>include<stdlib.h>define ERROR 0define OK 1typedef int Status;typedef char Elemtype;typedef struct LNode{ 线性表的链式存储结构Elemtype data;struct LNode next;}Lnode;Linklist;include"text.h"LNode Greatlistint N;int n //建立一个带有头结点的单链表{Linklist p;q;L;L=p=LNode mallocsizeofLNode;L->next=NULL;ifn=0{forint i=0;i<n;i++{q=LNode mallocsizeofLNode; //尾部插入结点建立带有头结点单链表q->data=Ni;p->next=q; //指针后移p=q;}}p->next=NULL; //对于非空表;最后结点的指针域放空指针return L;}LNode jiaojiLinklist la;Linklist lb //求两集合的交集{Linklist pa;pb;pc;Lc;pa=la->next;pb=lb->next;Lc=LinklistmallocsizeofLNode; //申请存储空间Lc->next=NULL;pc=Lc;whilepa&&pb{ifpa->data==pb->data{pc->next=LinklistmallocsizeofLNode;//若相等就申请存储空间链到Lc上pc=pc->next;pc->data=pa->data;pa=pa->next; //la;lb的指针后移pb=pb->next;}else ifpa->data>pb->data//若pa所指的元素大于pb所指的元素pb指针后移{ pb=pb->next; }else{ pa=pa->next; }}pc->next=NULL;//最后给pc的next赋NULLreturn Lc;}LNode bingjiLinklist la;Linklist lb //求两集合的并集{Linklist pa;pb;pc;lc;pa=la->next;pb=lb->next;lc=LinklistmallocsizeofLNode;lc->next=NULL;pc=lc;whilepa&&pb{ifpa->data==pb->data{pc->next=LinklistmallocsizeofLNode;//若pa所指的元素等于pb所指的元素申请空间将值存入链表lc;pa;pb指针后移pc=pc->next;pc->data=pa->data;pa=pa->next;pb=pb->next;}else ifpa->data>pb->data{pc->next=LinklistmallocsizeofLNode;//若pa所指的元素大于pb所指的元素申请空间将值存入链表lc;pb指针后移pc=pc->next;pc->data=pb->data;pb=pb->next;}else{pc->next=LinklistmallocsizeofLNode;//若pa所指的元素小于pb所指的元素申请空间将值存入链表lc;pa指针后移pc=pc->next;pc->data=pa->data;pa=pa->next;}}pc->next=papa:pb;return lc;}void Print_LinkListLinklist L //输出元素{Linklist p=L->next;whilep//链表不为空时输出链表中的值{printf" %3c" ;p->data;p=p->next;}printf" \n" ;}void main{Linklist L1;L2;La;Lb;int A4={'a';'b';'c';'f'};int B4={'c';'d';'e';'f'};printf"1含多个结点的顺序表‘a’;’b’;’c’;’f’和‘c’;’d’;’e’;’f’\n";printf"建立链表L1为\n";L1=GreatlistA;4;Print_LinkListL1;printf"建立链表L2为\n";L2=GreatlistB;4;Print_LinkListL2;printf"两链表的交集为:\n";La=jiaojiL1;L2;Print_LinkListLa;printf"两链表的并集为:\n";Lb=bingjiL1;L2;Print_LinkListLb;printf"2含一个结点的顺序表‘a’和空表\n"; int A11={'a'};int B11={'0'};printf"建立链表L1为\n";L1=GreatlistA1;1;Print_LinkListL1;printf"建立链表L2为\n";L2=GreatlistB1;0;Print_LinkListL2;printf"两链表的交集为:\n";La=jiaojiL1;L2;Print_LinkListLa;printf"两链表的并集为:\n"; Lb=bingjiL1;L2;Print_LinkListLb;printf"32个空表\n";int A21={'0'};int B21={'0'};printf"建立链表L1为\n";L1=GreatlistA2;0;Print_LinkListL1;printf"建立链表L2为\n";L2=GreatlistB2;0;Print_LinkListL2;printf"两链表的交集为:\n"; La=jiaojiL1;L2;Print_LinkListLa;printf"两链表的并集为:\n"; Lb=bingjiL1;L2;Print_LinkListLb;freeL1;freeL2;freeLa;freeLb;}4测试数据及运行结果1含多个结点的顺序表‘a’;’b’;’c’;’f’和‘c’;’d’;’e’;’f’2含一个结点的顺序表‘a’和空表 32个空表5算法分析1LNode Greatlist//尾插法建立链表算法的时间复杂度为On;n为输入元素个数..2LNode jiaojiLinklist la;Linklist lb算法时间复杂度为Om+n;m为集合A元素个数;n为集合B元素个数..3LNode bingjiLinklist la;Linklist lb算法时间复杂度为Om+n;m为集合A元素个数;n为集合B元素个数..4void Print_LinkListLinklist L算法时间复杂度为Onn为集合元素个数..。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
bianli(bing, num2);
printf("}\n");
printf("A-B={");
bianli(bu, num3);
printf("}\n");
return 0;
}
通过键盘,分别输入两个数据元素类型为正整数的集合A和B,以负数输入为结束条件,输出两个集合的交、并、差。从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能。集合可以用数组也可以用链表存储。
输入: A={1,2,3,4,5} B={3,4,5,6,7}
输出 A交B={3, 4, 5}
A并B={1,2,3,4,5,6,7}
}
}
int main(){
int c;
int a[N],count1,b[N],count2;//a,b两个集合,以及数量
int jiao[N],bing[2*N],bu[N];//交并补三个集合
int num1=0,num2=0,num3=0;
printf("请输入第一个集合:\n");
for(int i=0;i<N;i++){
for(int i=0;i<=count1;i++){//用b数组遍历bing
for(int j=0;j<=count2;j++){
if(b[i]==bing[j])
break;
if(j==count2)
bing[num2++]=b[i];
}
}
//求a对b的补集
for(int i=0;i<=count1;i++){
for(int j=0;j<=count2;j++){
if(a[i]==b[j]){
jiao[num1]=a[i];
num1++;
}
}
}
//求并集
num2=count1+1;//不改变 记录a集合个数的数值
memcpy(bing,a,num2*sizeof(int));//先将a数组复制入bing【】数组
A-B={1, 2}
作者 lyc
#include<stdio.h>
#include<string.h>//包含 memcyp()
#define N 20//数组长度
//遍历数组函数
void bianli(int a[2*N],int num){
for(int i=0;i<num;i++){
printf("%d,",a[i]);
for(int j=0;j<=count2;j++){
if(a[i]==b[j])
break;
if(j==count2){
bu[num3]=a[i];
num3++;
}
}
}
printf("A交B={");
bianli(jiao, num1);
printf("}\n");
printf("A并B={");
scanf("%d",&c);
if(c<0)
break;
a[i]=c;
count1=i;
}
printf("请输入第二个集合:\n");
;){
scanf("%d",&c);
if(c<0)
break;
b[i]=c;
count2=i;
}
//求交集
for(int i=0;i<=count1;i++){
相关文档
最新文档