PTA 实验7-1-8 找出不是两个数组共有的元素

实验7-1-8 找出不是两个数组共有的元素

在这里插入图片描述
思路:此题有需要注意是同一数字不重复输出,那就需要再创建一个数组保存结果。
有一个功能会用到的比较频繁,那就是判断某个元素在不在数组中,因此将其封装为函数。

#include <math.h>
#include <stdio.h>
int eleminlist(int a[], int n, int elem) {
    
    
    //     元素elem是否在a中,如果在返回1否则返回0
    for (int i = 0; i < n; i++)
        if (elem == a[i])
            return 1;
    return 0;
}
int main() {
    
    
    int n1, n2, n3 = 0;
    scanf("%d", &n1);
    int a[20], a1[20], re[40];
    for (int i = 0; i < n1; i++) {
    
    
        scanf("%d", &a[i]);
    }

    scanf("%d", &n2);
    for (int i = 0; i < n2; i++) {
    
    
        scanf("%d", &a1[i]);
    }

    for (int j = 0; j < n1; j++) {
    
    
        if (eleminlist(a1, n2, a[j]) == 0 && eleminlist(re, n3, a[j]) == 0)
            re[n3++] = a[j];
    }

    for (int j = 0; j < n2; j++) {
    
    
        if (eleminlist(a, n1, a1[j]) == 0 && eleminlist(re, n3, a1[j]) == 0)
            re[n3++] = a1[j];
    }

   
    if(n3) printf("%d",re[0]);
    for(int i=1;i<n3;i++)
        printf(" %d",re[i]);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Kilig___/article/details/128101284
今日推荐