用c语言写一个求交并补差
时间: 2024-05-04 10:17:38 浏览: 88
C语言中求集合的交并差集
好的,我来为您编写一个简单的程序:
```c
#include <stdio.h>
int main() {
int a[] = {1, 2, 3, 4, 5};
int b[] = {3, 4, 5, 6, 7};
int c[10], d[10], e[10];
int i, j, k, m, n;
m = sizeof(a) / sizeof(a[0]);
n = sizeof(b) / sizeof(b[0]);
k = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (a[i] == b[j]) {
c[k] = a[i];
k++;
break;
}
}
}
k = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (a[i] != b[j]) {
d[k] = a[i];
k++;
break;
}
}
if (j == n) {
d[k] = a[i];
k++;
}
}
k = 0;
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
if (b[i] != a[j]) {
e[k] = b[i];
k++;
break;
}
}
if (j == m) {
e[k] = b[i];
k++;
}
}
printf("交集:");
for (i = 0; i < k; i++) {
if (c[i] != 0) {
printf("%d ", c[i]);
}
}
printf("\n");
printf("并集:");
for (i = 0; i < k; i++) {
if (d[i] != 0) {
printf("%d ", d[i]);
}
}
for (i = 0; i < k; i++) {
if (e[i] != 0) {
printf("%d ", e[i]);
}
}
printf("\n");
printf("差集:");
for (i = 0; i < k; i++) {
if (d[i] != 0) {
printf("%d ", d[i]);
}
}
printf("\n");
return 0;
}
```
这个程序假设有两个数组 `a` 和 `b`,它将计算它们的交集、并集和差集。
程序的输出应该如下所示:
```
交集:3 4 5
并集:1 2 6 7
差集:1 2
```
希望这个程序能够帮助到您!
阅读全文