pta7-2找出不是两个数组共有的元素

各位帮忙看看这个代码哪里有问题啊,感谢感谢
#include
int main()
{
int m,n,i,j,flag=0,c=0;
scanf("%d",&m);
int a[m];
for(i=0;i
scanf("%d",&a[i]);
}scanf("%d",&n);
int b[n];
for(j=0;j
scanf("%d",&b[j]);
}for(i=0;i
for(j=0;j
if(a[i]!=b[j]) flag++;
if(flag==n){
c++;
if(c==1)printf("%d",a[i]);
else printf(" %d",a[i]);
}
}
}
return 0;
}

供参考:

#include <stdio.h>
int main()
{
    int m;
    int a[20], i;
    scanf("%d", &m)
    for (i = 0; i < m; i++)
        scanf("%d", &a[i]);
    int n;
    scanf("%d", &n);
    int b[20];
    for (i = 0; i < n; i++)
        scanf("%d", &b[i]);
    int j;
    int c[20], k = 0;
    for (i = 0; i < m; i++)
    {
         for (j = 0; j < n; j++)
         {
             if (a[i] == b[j])
                 break;
         }
         if (j >= n)
             c[k++] = a[i];
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            if (b[i] == a[j])
                break;
        }
        if (j >= m)
            c[k++] = b[i];
    }
    printf("%d", c[0]);
    for (i = 1; i < k; i++)
    {
        for (j = 0; j < i; j++)
        {
            if (c[i] == c[j]) //同一数字不重复输出
                break;
        }
        if (j >= i)
            printf(" %d", c[i]);
    }
    printf("\n");
    return 0;
}