c语言:c语言:设两个集合A、B用顺序表表示,求A-B。 【输入形式】 第一行输入两个整数N、M(大于0小于100),分别表示两个集合的长度; 第二行输入第一个集合的N个元素; 第三行输入第二个集合的M个元素; 【输出形式】 输出第一个集合和第二个集合的差集。(若差集为空集,则输出*) 【样例输入1】 5 4 4 23 -9 30 6 23 45 6 2 【样例输出1】 4 -9 30
时间: 2023-05-30 20:04:39 浏览: 223
```c
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int n, m;
int a[MAX_SIZE], b[MAX_SIZE];
int c[MAX_SIZE];
int i, j, k;
// 读入集合 A 和 B 的长度
scanf("%d%d", &n, &m);
// 读入集合 A 中的元素
for (i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
// 读入集合 B 中的元素
for (i = 0; i < m; ++i) {
scanf("%d", &b[i]);
}
// 求 A-B
k = 0;
for (i = 0; i < n; ++i) {
int is_in_b = 0;
for (j = 0; j < m; ++j) {
if (a[i] == b[j]) {
is_in_b = 1;
break;
}
}
if (!is_in_b) {
c[k++] = a[i];
}
}
// 输出差集
if (k == 0) {
printf("*\n");
} else {
for (i = 0; i < k; ++i) {
printf("%d ", c[i]);
}
printf("\n");
}
return 0;
}
```
阅读全文