C语言实现集合差集 - 代码示例及详解
#include <stdio.h>
int main() {
int a[100], b[100], c[100]; // a表示集合A,b表示集合B,c表示差集
int i, j, k, flag;
// 输入集合A
printf('请输入集合A中的元素(以-1结束):\n');
i = 0;
do {
scanf('%d', &a[i]);
i++;
} while (a[i-1] != -1);
// 输入集合B
printf('请输入集合B中的元素(以-1结束):\n');
j = 0;
do {
scanf('%d', &b[j]);
j++;
} while (b[j-1] != -1);
// 求差集
k = 0;
for (i = 0; a[i] != -1; i++) {
flag = 1;
for (j = 0; b[j] != -1; j++) {
if (a[i] == b[j]) {
flag = 0;
break;
}
}
if (flag == 1) {
c[k] = a[i];
k++;
}
}
c[k] = -1;
// 输出差集
printf('集合A与集合B的差集为:\n');
for (i = 0; c[i] != -1; i++) {
printf('%d ', c[i]);
}
printf('\n');
return 0;
}
代码解析:
- 声明数组: 使用三个数组
a、b和c分别存储集合 A、集合 B 和差集。 - 输入集合: 使用
do-while循环从标准输入接收集合 A 和集合 B 的元素,以 -1 作为输入结束标志。 - 计算差集: 遍历集合 A 中的每个元素,并在集合 B 中查找是否有相同的元素。如果找到相同的元素,则标记
flag为 0,否则标记为 1。如果flag为 1,则将该元素添加到差集数组c中。 - 输出差集: 使用
for循环遍历差集数组c,并将其中的元素输出到标准输出。
使用示例:
假设集合 A 为 {1, 2, 3, 4},集合 B 为 {2, 4, 5},则程序输出的差集为 {1, 3}。
总结:
本文提供了一个使用 C 语言实现集合差集的代码示例。该程序通过遍历两个集合并比较元素,最终得到差集结果。希望本文能够帮助您理解集合差集的计算过程,并使用 C 语言实现相应的程序。
原文地址: https://www.cveoy.top/t/topic/oQYR 著作权归作者所有。请勿转载和采集!