(1)找出不是两个数组共有的元素:输人一个正整数n( 1<n≤10), 再输人n个整数,存人第1个数组中;然后输人一个正整数m(1<m≤10),再输人m个整数,存入第2个数组中,找出所有不是这两个数组共有的元素。试编写C语言序。
时间: 2024-01-21 18:19:49 浏览: 94
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, m;
printf("请输入第一个数组的元素个数:");
scanf("%d", &n);
int arr1[n];
printf("请输入第一个数组的元素:");
for(int i = 0; i < n; i++) {
scanf("%d", &arr1[i]);
}
printf("请输入第二个数组的元素个数:");
scanf("%d", &m);
int arr2[m];
printf("请输入第二个数组的元素:");
for(int i = 0; i < m; i++) {
scanf("%d", &arr2[i]);
}
printf("不是两个数组共有的元素为:");
for(int i = 0; i < n; i++) {
int flag = 1;
for(int j = 0; j < m; j++) {
if(arr1[i] == arr2[j]) {
flag = 0;
break;
}
}
if(flag == 1) {
printf("%d ", arr1[i]);
}
}
for(int i = 0; i < m; i++) {
int flag = 1;
for(int j = 0; j < n; j++) {
if(arr2[i] == arr1[j]) {
flag = 0;
break;
}
}
if(flag == 1) {
printf("%d ", arr2[i]);
}
}
return 0;
}
```
代码实现思路:
1. 通过 `scanf` 分别输入两个数组的元素个数和元素值,并存入两个数组中。
2. 使用双重循环分别遍历两个数组,如果发现有相同元素,则将标记 `flag` 设为 0。
3. 最后再遍历两个数组,找出不是两个数组共有的元素,并输出即可。
阅读全文