C语言实现集合的交,并,差
c语言程序设计课程设计选题 (1)

《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续25.要求:使用文件方式存储数据。
26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
C语言程序设计第五章

05 案例分析
案例一:条件语句在程序中的应用
总结词
条件语句是C语言中用于根据不同条件执行不同操作的语句,通过if、else if和else关键 字实现。
详细描述
编程练习二:循环语句应用
总结词
理解并掌握while和for循环的使用
详细描述
通过编写程序,实现重复执行某段代 码直到满足特定条件,或者根据需要 重复执行某段代码指定次数。例如, 计算1到100的累加和,或者打印出0 到99的所有偶数。
编程练习三:数组操作应用
总结词
理解并掌握数组的基本操作
VS
详细描述
详细描述
数组在程序中用于存储和处理同一种类型的 数据元素,例如存储一组学生的成绩、计算 一组数据的平均值等。数组操作包括数组的 声明、初始化、访问和修改等。通过循环语 句可以方便地遍历数组元素并进行处理。数 组操作在程序中具有广泛的应用,是C语言
中重要的数据结构和算法之一。
06 总结与展望
本章总结
详细描述
C语言中的数组是一种存储相同类型元素的线性数据结构。可以通过索引访问数 组元素,进行赋值、交换、排序等操作。同时,C语言还提供了字符串操作函数, 如strcpy、strcat、strlen等。
语法点三:数组操作
01
示例代码
02
```c
int array[10]; // 声明一个包含10个整数的数组
详细描述
循环语句在程序中用于重复执行一段代码, 例如打印1到10的数字、计算一定数量的累 加和等。循环语句可以嵌套使用,以实现更 复杂的循环结构和算法。循环语句通常与条 件语句结合使用,以控制循环的执行条件和 次数。
集合的交并差运算

#include<stdio.h>#include<malloc.h>#include<stdlib.h>struct set{int coef;struct set *next;};void createlist_p(struct set *&p,int n){int i;struct set *L;p=(struct set *)malloc(sizeof(set));p->next=NULL;for(i=n;i>0;i--){L=(struct set *)malloc(sizeof(set));牰湩晴尨请输入该集合中第%d个整数元素:,n-i+1); scanf(%d,&L->coef);L->next=p->next;p->next=L;}}//生成新链表用于存放两集合中的元素void printlist_p(struct set *&p){struct set *L;int i;L=p->next;晩??瀠楲瑮?该表为空!\n);while(L!=NULL){printf(%d ,L->coef);L=L->next;i++;}printf(\);}//打印输入的两集合中的元素void Addset(struct set *&p,struct set *&q,struct set *&r) {struct set *k,*m,*n;r=(struct set *)malloc(sizeof(set));r->next=NULL;k=p->next;for(;k;){m=(struct set *)malloc(sizeof(set));m->next=r->next;r->next=m;m->coef=k->coef;k=k->next;}//把第一个集合中的元素放在新集合中k=q->next;m=(struct set *)malloc(sizeof(set));m->next=r->next;r->next=m;m->coef=k->coef;k=k->next;for(;k;){for(n=r->next;(k->coef!=n->coef)&&n->next;){n=n->next;}//与新集合中的元素比较if((k->coef!=n->coef)&&!(n->next)){m=(struct set *)malloc(sizeof(set));m->next=r->next;r->next=m;m->coef=k->coef;}k=k->next;}//对第二个集合中的元素进行分析}//求A∪Bvoid Subset(struct set *&p,struct set *&q,struct set *&r){ struct set *k,*m,*n;r=(struct set *)malloc(sizeof(set));r->next=NULL;n=q->next;for(;n;){m=p->next;for(;(m->coef!=n->coef)&&m->next;){m=m->next;}if(m->coef==n->coef) {k=(struct set *)malloc(sizeof(set));k->next=r->next;r->next=k;k->coef=m->coef;}n=n->next;}}//求A∩Bvoid Intset(struct set *&p,struct set *&q,struct set *&r){ struct set *k,*m,*n;r=(struct set *)malloc(sizeof(set));r->next=NULL;m=p->next;for(;m;){n=q->next;for(;(m->coef!=n->coef)&&n->next;){n=n->next;}if(!n->next&&(m->coef!=n->coef)) {k=(struct set *)malloc(sizeof(set));k->next=r->next;r->next=k;k->coef=m->coef;}m=m->next;}}//求A-Bvoid bangzhu(){printf(\\t\t\t***********************************); printf(\\t\t\t* 求集合的交并差*);printf(\\t\t\t*********************************\n);}void main(){struct set *p,*q,*r;int m,n,node;bangzhu();for(;;){do{牰湩晴尨请输入您要选择操作的代码:\n);printf(:求两集合的并A∪B\n);printf(:求两集合的交A∩B\n);printf(:求两集合的差A-B\n);printf(:退出该程序\n);scanf(%d,&node);} while(node<0||node>3);if(node==0) exit(1);printf(\\t\t/*请输入集合A中元素的个数:*/\n);scanf(%d,&m);createlist_p(p,m);printf(\\t\t/*请输入集合B中元素的个数:*/\n);scanf(%d,&n);createlist_p(q,n);牰湩晴尨集合A中元素为:);printlist_p(p);牰湩晴尨集合B中元素为:);printlist_p(q);while(node<0||node>3);switch(node){case 1: Addset( p,q,r);printf(A∪B:\n);printlist_p(r);break;case 2: Subset( p,q,r);printf(A∩B:\n);printlist_p(r);break;case 3: Intset(p,q,r); printf(A-B:\n);printlist_p(r);break;}printf(\);}}可以了楼上方法是正确的,学习!把分给楼上主要原因是C程序中使用了C语言不支持的引用所致,修改如下://---------------------------------------------------------------------------#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct set{int coef;struct set *next;} set ;void createlist_p(struct set **p,int n){int i;struct set *L;*p=(struct set *)malloc(sizeof(set));(*p)->next=NULL;for(i=n;i>0;i--){L=(struct set *)malloc(sizeof(set));牰湩晴尨请输入该集合中第%d个整数元素:,n-i+1); scanf(%d,&L->coef);L->next=(*p)->next;(*p)->next=L;}}//生成新链表用于存放两集合中的元素void printlist_p(struct set **p){struct set *L;int i=0;L=(*p)->next;晩??瀠楲瑮?该表为空!\n);while(L!=NULL){printf(%d ,L->coef);L=L->next;i++;}printf(\);}// 打印输入的两集合中的元素void Addset(struct set **p,struct set **q,struct set **r) {struct set *k,*m,*n;*r=(struct set *)malloc(sizeof(set));(*r)->next=NULL;k=(*p)->next;for(;k;){m=(struct set *)malloc(sizeof(set));m->next=(*r)->next;(*r)->next=m;m->coef=k->coef;k=k->next;}//把第一个集合中的元素放在新集合中k=(*q)->next;m=(struct set *)malloc(sizeof(set));m->next=(*r)->next;(*r)->next=m;m->coef=k->coef;k=k->next;for(;k;){for(n=(*r)->next;(k->coef!=n->coef)&&n->next;){n=n->next;}//与新集合中的元素比较if((k->coef!=n->coef)&&!(n->next)){m=(struct set *)malloc(sizeof(set));m->next=(*r)->next;(*r)->next=m;m->coef=k->coef;}k=k->next;}//对第二个集合中的元素进行分析}//求A∪Bvoid Subset(struct set **p,struct set **q,struct set **r){ struct set *k,*m,*n;(*r)=(struct set *)malloc(sizeof(set));(*r)->next=NULL;n=(*q)->next;for(;n;){m=(*p)->next;for(;(m->coef!=n->coef)&&m->next;){m=m->next;}if(m->coef==n->coef) {k=(struct set *)malloc(sizeof(set));k->next=(*r)->next;(*r)->next=k;k->coef=m->coef;}n=n->next;}}//求A∩Bvoid Intset(struct set **p,struct set **q,struct set **r){ struct set *k,*m,*n;(*r)=(struct set *)malloc(sizeof(set));(*r)->next=NULL;m=(*p)->next;for(;m;){n=(*q)->next;for(;(m->coef!=n->coef)&&n->next;){n=n->next;}if(!n->next&&(m->coef!=n->coef)) {k=(struct set *)malloc(sizeof(set));k->next=(*r)->next;(*r)->next=k;k->coef=m->coef;}m=m->next;}}//求A-Bvoid bangzhu(void){printf(\\t\t\t***********************************);printf(\\t\t\t* 求集合的交并差*);printf(\\t\t\t*********************************\n);}void main(){struct set *p,*q,*r;int m,n,node;bangzhu();for(;;){do{牰湩晴尨请输入您要选择操作的代码:\n);printf(:求两集合的并A∪B\n);printf(:求两集合的交A∩B\n);printf(:求两集合的差A-B\n); printf(:退出该程序\n);scanf(%d,&node);}while(node<0||node>3);if(node==0) exit(1);printf(\\t\t/*请输入集合A中元素的个数:*/\n);scanf(%d,&m);createlist_p(&p,m);printf(\\t\t/*请输入集合B中元素的个数:*/\n);scanf(%d,&n);createlist_p(&q,n);牰湩晴尨集合A中元素为:);printlist_p(&p);printf( 集合B中元素为:);printlist_p(&q);//while(node<0||node>3);switch(node){case 1: Addset( &p,&q,&r);printf(A∪B:\n);printlist_p(&r);break; B:\n);printlist_p(&r);break; ∩case 2: Subset( &p,&q,&r);printf(A.case 3: Intset(&p,&q,&r); printf(A-B:\n);printlist_p(&r);break;}printf(\);}}//---------------------------------------------------------------------------。
c语言程序求集合的并集,交集,差集运算

C语言是一种广泛应用的计算机程序设计语言,它具有高效、灵活、可移植等特点,因此在计算机科学领域被广泛应用。
本篇文章将探讨在C语言中如何求集合的并集、交集和差集运算。
一、集合的概念集合是数学中重要的概念,它是由元素组成的无序的集合体。
在计算机科学中,我们常常需要对集合进行各种操作,比如求并集、交集、差集等。
二、集合的表示方法在C语言中,我们可以使用数组来表示集合。
数组是一种非常基础的数据结构,它由相同类型的元素组成的有序集合。
我们可以通过定义数组来表示一个集合,并通过遍历数组来进行各种集合运算。
三、集合的并集运算集合A和集合B的并集运算是指将A和B中的所有元素放在一起组成一个新的集合。
在C语言中,我们可以通过遍历两个数组,将它们的元素放在一个新的数组中即可实现并集运算。
下面是C语言中求两个集合的并集运算的示例代码:```#include <stdio.h>int m本人n() {int setA[] = {1, 2, 3, 4, 5};int setB[] = {3, 4, 5, 6, 7};int setSize = 5;int setUnion[10];int unionSize = 0;for (int i = 0; i < setSize; i++) {setUnion[unionSize++] = setA[i]; }for (int i = 0; i < setSize; i++) {int found = 0;for (int j = 0; j < setSize; j++) {if (setB[i] == setA[j]) {found = 1;break;}}if (!found) {setUnion[unionSize++] = setB[i];}}// 输出并集for (int i = 0; i < unionSize; i++) {printf("d ", setUnion[i]);}return 0;}```以上代码中,我们定义了两个集合setA和setB,分别表示集合A和集合B,然后通过遍历这两个数组,将它们的元素放入一个新的数组setUnion中。
C语言集合的实现

C语言集合的实现C语言是一种通用的程序设计语言,提供了丰富的数据结构和算法库。
在C语言中,集合是一种存储不重复元素的数据结构,常用于需要存储、查询和操作一组不同元素的场景。
本文将介绍C语言中集合的实现方式,并详细解释其原理和应用。
1.集合的定义集合是一种不包含重复元素的容器,没有特定的顺序。
在C语言中,可以使用数组或链表等数据结构来实现集合。
集合通常有以下几个基本操作:插入元素、删除元素、判断元素是否存在、求并集、求交集、求差集等。
2.集合的实现方式2.1使用数组实现集合使用数组实现集合比较简单,只需要定义一个固定大小的数组,然后使用元素的值作为下标来标记元素是否存在。
例如,要存储范围在0-9之间的整数集合,可以定义一个大小为10的数组,数组下标代表元素值,数组元素的值用于表示元素是否存在。
下面是使用数组实现集合的示例代码:```c#define SIZE 10//初始化集合void initSet(int set[])for (int i = 0; i < SIZE; i++)set[i] = 0;}//插入元素void insertElement(int set[], int element) if (element >= 0 && element < SIZE)set[element] = 1;}//删除元素void deleteElement(int set[], int element) if (element >= 0 && element < SIZE)set[element] = 0;}//判断元素是否存在int isElementExist(int set[], int element) if (element >= 0 && element < SIZE)return set[element];} elsereturn 0;}//打印集合void printSet(int set[])for (int i = 0; i < SIZE; i++) if (set[i] == 1)printf("%d ", i);}}int maiint set[SIZE];initSet(set);insertElement(set, 1); insertElement(set, 3); insertElement(set, 5); deleteElement(set, 3);printf("集合中的元素为:"); printSet(set);return 0;```这段代码中,先定义了一个大小为10的数组作为集合的存储空间。
c语言的集合的交并补

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++){
离散数学集合的运算实验报告

大连民族学院计算机科学与工程学院实验报告实验题目:集合的运算课程名称:离散数学实验类型:□演示性□验证性□操作性□设计性□综合性专业:网络工程班级:网络111班学生姓名:张山学号:2011083123实验日期:2013年12月22日实验地点:I区实验机房实验学时:8小时实验成绩:指导教师签字:年月日老师评语:1实验题目:集合的运算实验原理:1、实验内容与要求:实验内容:本实验求两个集合间的运算,给定两个集合A、B,求集合A与集合B之间的交集、并集、差集、对称差集和笛卡尔乘积。
实验要求:对于给定的集合A、B。
用C++/C语言设计一个程序(本实验采用C++),该程序能够完成两个集合间的各种运算,可根据需要选择输出某种运算结果,也可一次输出所有运算结果。
2、实验算法:实验算法分为如下几步:(1)、设计整体框架该程序采取操作、打印分离(求解和输出分开)的思想。
即先设计函数求解各部分运算并将相应结果传入数组(所求集合)中,然后根据需要打印运算结果。
(2)、建立一个集合类(Gather)类体包括的数组a、b、c、d、e、f、g分别存储集合A、B以及所求各种运算的集合。
接口(实现操作的函数)包括构造函数,菜单显示函数,求解操作函数,打印各种运算结果等函数。
(3)、设计类体中的接口构造函数:对对象进行初始化,建立集合A与集合B。
菜单显示函数:设计提示选项,给使用者操作提示。
操作函数:该函数是程序的主题部分,完成对集合的所有运算的求解过程,并将结果弹入(存入)对应数组(集合)中,用于打印。
具体操作如下:21*求交集:根据集合中交集的定义,将数组a、b中元素挨个比较,把共同元素选出来,并存入数组c(交集集合)中,即求得集合A、B的交集。
2*求并集:根据集合中并集的定义,先将数组a中元素依次存入数组g(并集集合)中,存储集合A中某元素前,先将其与已存入g中的元素依次比较,若相同则存入下一个元素,否则直接存入g中,直到所有A中元素存储完毕。
实现两个集合的相关运算c语言

实现两个集合的相关运算c语言实现两个集合的相关运算(C语言)在编程中,集合是一种常见的数据结构,用于存储一组不重复的元素。
集合的相关运算包括并集、交集、差集等,可以帮助我们对数据进行处理和分析。
本文将以C语言为例,介绍如何实现两个集合的相关运算。
一、集合的定义与表示在C语言中,可以使用数组来表示集合。
数组的每个元素对应集合中的一个元素,而数组的索引则代表元素的位置。
为了实现集合的相关运算,我们需要定义一个结构体来存储集合的信息,包括集合的大小和元素数组。
下面是一个示例的集合结构体定义:```c#define MAX_SIZE 100typedef struct {int size; // 集合的大小int elements[MAX_SIZE]; // 元素数组} Set;```二、集合的初始化在进行集合运算之前,我们首先需要初始化两个集合。
集合的初始化包括设置集合的大小和填充元素数组。
下面是一个示例的集合初始化函数:```cvoid initSet(Set* set, int size, int elements[]) {set->size = size;for (int i = 0; i < size; i++) {set->elements[i] = elements[i];}}```三、集合的并集运算集合的并集运算是指将两个集合中的所有元素合并成一个新的集合。
为了实现集合的并集运算,我们可以遍历其中一个集合的元素,并将其添加到另一个集合中,同时确保新集合中不包含重复的元素。
下面是一个示例的集合并集运算函数:```cSet unionSet(Set set1, Set set2) {Set resultSet;int resultSetSize = set1.size + set2.size;int resultElements[MAX_SIZE];// 将set1的元素添加到resultSet中for (int i = 0; i < set1.size; i++) {resultElements[i] = set1.elements[i];}// 遍历set2的元素,将不重复的元素添加到resultSet中 for (int i = 0; i < set2.size; i++) {int element = set2.elements[i];int isDuplicate = 0;// 检查element是否已经存在于resultSet中for (int j = 0; j < resultSetSize; j++) {if (element == resultElements[j]) {isDuplicate = 1;break;}}// 如果element不重复,则添加到resultSet中if (!isDuplicate) {resultElements[resultSetSize++] = element;}}initSet(&resultSet, resultSetSize, resultElements);return resultSet;}```四、集合的交集运算集合的交集运算是指找到两个集合中共同存在的元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言实现集合的交,并,
差
公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-
【问题描述】
编制一个能演示执行集合的并、交和差运算的程序【基本要求】
(1)集合的元素限定为小写字母字符[ 'a'......'z' ]
(2 )演示程序以用户和计算机对话的方式执行
【测试数据】
【实现提示】
以有序链表表示集合
【代码过程】
1。
先定义集合的数据类型
.{
ElemType data;
LNode *next;
}*Link, *Position;
typedef struct...{
Link head,tail;
int len;
}LinkSet;
.{
.{
.{
if(h1->data < (link->data) && h2->data > (link->data) ) .{ .{
.{
.{
pre = h; h=h->next; j++;
}
if(j==0) return NULL;
return pre;
}
Status PrintSets(LinkSet &ls)...{
.{
printf("%c ",h->data);
h = h->next;
}
printf(" ] ");
return OK;
}
Position GetHead(LinkSet &ls)...{
.{
.{
.{
.{
.{
.{.{
.{
int result = Compare(pa,pb); .{
DelFirst(lsa,node);Append(lsc,node); pa =
NextPos(ha); .{ .{
DelFirst(lsb,node); pb = NextPos(hb);.{
DelFirst(lsa,node);Append(lsc,node);
}
while(!Empty(lsb))...{
DelFirst(lsb,node);Append(lsc,node);
}
return OK;
}
Status IntersectionSets(LinkSet &lsa,LinkSet &lsb, LinkSet &lsc)...{ .{
int result = Compare(pa,pb);
if( result<0) ...{
DelFirst(lsa,node);pa = NextPos(ha);
}else if(result>0)...{
DelFirst(lsb,node); pb = NextPos(hb);
}else...{
DelFirst(lsb,node); Append(lsc,node);pb = NextPos(hb);
DelFirst(lsa,node);pa = NextPos(ha);
}
}
while(!Empty(lsa))...{
DelFirst(lsa,node);Append(lsc,node);
}
return OK;
}
Status DifferenceSets(LinkSet &lsa,LinkSet &lsb, LinkSet &lsc)...{
.{
int result = Compare(pa,pb);
if( result<0) ...{
DelFirst(lsa,node);Append(lsc,node);pa = NextPos(ha); }else if(result>0)...{
DelFirst(lsb,node); pb = NextPos(hb);
}else...{
DelFirst(lsa,node); pa = NextPos(ha);
DelFirst(lsb,node); pb = NextPos(hb);
}
}
return OK;
}
Status CopySets(LinkSet lsa, LinkSet lsb)...{
.{
Link node;
CreateNode(node,la->data);
lb=node;
++;
la = la->next;
lb = lb->next;
}
= lb;
return OK;
}
.{
printf("************************************************************** ************** " );
printf("*MakeSet1-1 MakeSet1-2 Union-u Intersection-i Difference-d Quit-q * " );
printf("************************************************************** ************** " );
}
void main()
...{
LinkSet set1,set2,set3,seta,setb;
InitSets(set1),InitSets(set2); .{
Initialization();
printf("集合Set1:");
PrintSets(set1); .{
case '1': //集合set1 赋值
printf("请输入集合Set1的内容:");
fflush(stdin);
gets(setsContent);
InitSets(set1);
SetSets(set1,setsContent);
break;
case '2': //集合set1 赋值
printf("请输入集合Set1的内容:");
fflush(stdin);
gets(setsContent);
SetSets(set2,setsContent);
break;
case 'u':
case 'U': //求并
InitSets(set3);
CopySets(set1,seta); //因为求并的算法是添加一个节点,删除set1,set2中对应的节点,
CopySets(set2,setb); //所以要复制一份
UnionSets(seta,setb,set3); //下同
printf("set1 U set2=: ");
PrintSets(set3);
fflush(stdin);
getchar();
break;
case 'i':
case 'I': //求交
InitSets(set3);
CopySets(set1,seta);
CopySets(set2,setb);
IntersectionSets(seta,setb,set3);
printf("set1 交 set2=: ");
fflush(stdin);
getchar();
break;
case 'd':
case 'D': //求差 InitSets(set3);
CopySets(set1,seta);
CopySets(set2,setb);
DifferenceSets(seta,setb,set3);
printf("set1 - set2=: ");
PrintSets(set3);
fflush(stdin);
getchar();
break;
case 'q':
case 'Q':
exit(0);
break;
}
system("cls"); //清屏
}
} //~。