用c语言写 求两个集合的差集。注意,同一个集合中不能有两个相同的元素。
时间: 2024-03-14 10:44:07 浏览: 68
好的,下面是实现您要求的功能的示例代码:
```
#include <stdio.h>
int main() {
int setA[100], setB[100], diff[100];
int nA, nB, nDiff = 0;
printf("请输入集合A的元素个数:\n");
scanf("%d", &nA);
printf("请输入集合A的元素:\n");
for(int i = 0; i < nA; i++) {
scanf("%d", &setA[i]);
}
printf("请输入集合B的元素个数:\n");
scanf("%d", &nB);
printf("请输入集合B的元素:\n");
for(int i = 0; i < nB; i++) {
scanf("%d", &setB[i]);
}
for(int i = 0; i < nA; i++) {
int inB = 0;
for(int j = 0; j < nB; j++) {
if(setA[i] == setB[j]) {
inB = 1;
break;
}
}
if(!inB) {
diff[nDiff++] = setA[i];
}
}
printf("集合A和集合B的差集是:\n");
for(int i = 0; i < nDiff; i++) {
printf("%d ", diff[i]);
}
printf("\n");
return 0;
}
```
这个程序首先要求用户输入集合 A 和集合 B 的元素,分别存储在数组 setA 和 setB 中。然后使用两个 for 循环遍历集合 A 的每个元素,并在集合 B 中查找是否有相同的元素。如果没有,则将这个元素加入差集数组 diff 中。最后输出差集数组 diff 即可。需要注意的是,同一个集合中不能有两个相同的元素,因此在输入元素时需要进行判断。
阅读全文