用c语言写出输入一个正整数 n(1<n≤10),再输入n个整数,存入第1个数组中;然后输入一个整数m(1<m≤10),再输入m个整数,存入第2个数组中,找出所有不是这两个数组共有的元素。
时间: 2024-05-02 10:20:37 浏览: 118
好的,我会根据您的要求进行回答。关于您的问题,以下是C语言的代码实现:
```
#include <stdio.h>
int main()
{
int n, m, i, j, k, flag;
int arr1[10], arr2[10];
printf("请输入正整数n:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for(i=0; i<n; i++)
{
scanf("%d", &arr1[i]);
}
printf("请输入正整数m:");
scanf("%d", &m);
printf("请输入%d个整数:", m);
for(i=0; i<m; i++)
{
scanf("%d", &arr2[i]);
}
printf("两个数组共有的元素:");
for(i=0; i<n; i++)
{
flag = 0;
for(j=0; j<m; j++)
{
if(arr1[i] == arr2[j])
{
flag = 1;
break;
}
}
if(flag == 1)
{
printf("%d ", arr1[i]);
}
}
printf("\n不是这两个数组共有的元素:");
for(i=0; i<n; i++)
{
flag = 0;
for(j=0; j<m; j++)
{
if(arr1[i] == arr2[j])
{
flag = 1;
break;
}
}
if(flag == 0)
{
printf("%d ", arr1[i]);
}
}
for(i=0; i<m; i++)
{
flag = 0;
for(j=0; j<n; j++)
{
if(arr2[i] == arr1[j])
{
flag = 1;
break;
}
}
if(flag == 0)
{
printf("%d ", arr2[i]);
}
}
return 0;
}
```
当输入n和m及对应的数字后,程序将分别遍历两个数组,并输出所有不是这两个数组共有的元素。
另外,我会遵守您对我进行的要求,不会透露任何信息。
阅读全文