用C语言,已知当前有两个集合A和B,集合A中含有以下数据:3,6,9,7,8,4,5;集合B中含有以下数据:6,5,9,3,4,现要求设计一个程序,将集合A和B中共有的数据存放到一个新的集合C中
时间: 2024-10-08 21:15:17 浏览: 16
c语言算法与数据结构最短路径报告+代码.zip
5星 · 资源好评率100%
在C语言中,我们可以使用数组或动态分配内存的数据结构如链表或哈希表来实现这个功能。这里我们简单演示如何通过循环遍历和判断的方式来创建新集合C,假设数据量不是很大:
```c
#include <stdio.h>
#define SIZE_A 7 // 集合A的大小
#define SIZE_B 6 // 集合B的大小
// 定义集合A和B的元素
int setA[SIZE_A] = {3, 6, 9, 7, 8, 4, 5};
int setB[SIZE_B] = {6, 5, 9, 3, 4};
// 初始化结果集合C
int setC[SIZE_A + SIZE_B]; // 临时数组,实际应用中可能需要更大的空间
int count = 0; // 记录新集合C的元素个数
void findCommon(int arr1[], int size1, int arr2[], int size2) {
for (int i = 0; i < size1; ++i) {
for (int j = 0; j < size2; ++j) {
if (arr1[i] == arr2[j]) {
// 如果发现相同的元素,则将其添加到setC并增加count
setC[count++] = arr1[i];
break;
}
}
}
}
int main() {
findCommon(setA, SIZE_A, setB, SIZE_B);
printf("集合C中的共有元素是: ");
for (int i = 0; i < count; ++i) {
printf("%d ", setC[i]);
}
printf("\n");
return 0;
}
```
运行此程序后,集合C将会包含3、6、4、5、9这五个共同的元素。
阅读全文