数据结构--C语言实现集合的(并,交,差)运算!(数组)

这篇博客介绍了如何使用C语言实现集合的并集、交集和差集运算,特别是在数组中存储集合元素。文章强调了在输入集合时检查元素重复的重要性,并提供了包含菜单交互功能的完整程序设计。测试用例包括两个集合A和B,验证了重复元素的检查以及正确计算交、并、差集。虽然代码目前只适用于不超过50个元素的集合,作者计划后续使用链表进行优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构–C语言实现集合的(并,交,差)运算!(数组)

效果如图:
效果图
要求:
从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能,每个集合中不允许有重复的元素。集合可以用数组也可以用链表存储。
实现交、并、差运算时,分别把代码写成函数的形式,即实现交运算的函数,实现并运算的函数,实现差运算的函数,在主函数中分别调用三个函数。
使用菜单形式对应各个操作,应允许用户反复查看结果,想结束程序时,输入负数结束,使其编成一个完整的小软件。菜单参考示例如下:
1—输入集合A和B
2—求集合A交B
3—求集合A并B
4—求集合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}
A-B={1, 2}
代码部分

#include <stdio.h> 
int a[50]={
   
   0},b[50]={
   
   0},c[50]={
   
   0},d[50]={
   
   0},e[50]={
   
   0};

//显示输出
void show (){
   
       
 printf("\t\t--------------集合运算--------------\n");
 printf("\n");
 printf("\t\t\t 1---输入集合A和B\n");
 printf("\t\t\t 2---求集合A交B\n");
 printf("\t\t\t 3---求集合A并B\n");
 printf("\t\t\t 4---求集合A-B\n");
 printf("\t\t\t 退出,输入一个负数!");
 printf("\n");
 printf("\t\t------------------------------------\n");
 printf("\n");
}

//输入集合A和B 
void input(int x,int y){
   
    
 int i,j;
 printf("请输入A的元素");
 for(i=0;i<x;i++){
   
        
  scanf("%d",&a[i]);
  getchar();
  for(j=0;j<i;j++){
   
       //通过循环判断进行查重 
   if(a[i]==a[j
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值