题目要求自己输入两个有10个数的数组 然后得住重复的数字 但是不知道错在哪里


#include<stdio.h>
int main()
{
    int a[10]={0},b[10]={0};
    int i;
    printf("a[10]=");

    for(i=0;i<10;++i)
    {
        scanf("%d",&a[i]);
    }
    printf("b[10]=");
    for(i=0;i<10;++i)
    {
        scanf("%d",&b[i]);
    }
    int j;
    for(j=0;j<10;++j)
    {
        if(a[j]==b[0]||b[1]||b[2]||b[3]||b[4]||b[5]||b[6]||b[7]||b[8]||b[9]){
            printf("%d\n"a[j]);
        }
    }        
    }
    return 0;
}
#include<stdio.h>
int main() {
    int a[10]= {0},b[10]= {0},c[10]= {0};
    int i;
    printf("a[10]=");
    for(i=0; i<10; ++i) {
        scanf("%d",&a[i]);
    }
    printf("b[10]=");
    for(i=0; i<10; ++i) {
        scanf("%d",&b[i]);
    }
    int j;
    for(i=0; i<10; ++i) {
        for(j=0; j<10; ++j) {
            if(a[i]==b[j]&&c[j]!=1) {
                printf("%d\n",a[i]);
                c[j]=1;
                break;
            }
        }

    }
    return 0;
}

或是没有这样的用法的,你可以采用积为零的方式降低一下时间复杂度



```c
 
#include<stdio.h>
int main()
{
    int a[10]={0},b[10]={0};
    int i;
    printf("a[10]=");
    for(i=0;i<10;++i)
    {
        scanf("%d",&a[i]);
    }
    printf("b[10]=");
    for(i=0;i<10;++i)
    {
        scanf("%d",&b[i]);
    }
    
    for(int j=0;j<10;++j)
    {
        if((b[0]-a[j])(b[1]-a[j])(b[2]-a[j])(b[3]-a[j])(b[4]-a[j])(b[5]-a[j])(b[6]-a[j])(b[7]-a[j])(b[8]-a[j](b[9]-a[j])==0){
            printf("%d\n"a[j]);
        }
    }        
    }
    return 0;
}

```