C语言关于数组求并集的

2025-03-05 10:12:29
推荐回答(2个)
回答1:

#include 
int main(void)
{
int a[5],b[5],c[10],j = 0,k = 0,flag ;
int i;
for(i = 0; i < 5; i++)
scanf("%d",&a[i]);
for(i = 0; i < 5; i++)
scanf("%d",&b[i]);
for(i = 0; i < 5 ; i++)
c[k++] = a[i];
for(i = 0; i < 5; i++)
{
flag = 1;
for(j = 0; j < k ;j++)
if(b[i] == a[j])
{
flag = 0;
break;
}
if(flag)
c[k++] = b[i];
}
for(i = 0; i < k ; i++)
printf("%d ",c[i]);
printf("\n");
return 0;
}

回答2:

#include 

int main(void)
{
    int arr1[5],arr2[5],array[10]={0};
    int i,j;
    scanf("%d %d %d %d %d",&arr1[0],&arr1[1],&arr1[2],&arr1[3],&arr1[4]);
    scanf("%d %d %d %d %d",&arr2[0],&arr2[1],&arr2[2],&arr2[3],&arr2[4]);
    for(i=0;i<5;i++)
    {
        array[i]=arr1[i];
    }
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            if(arr2[i]==arr1[j])
                break;
            if(j==4)
                array[i+5]=arr2[i];
        }

    }

    for(i=0;i<10;i++)
    {
        if(array[i]!=0)
            printf("%d ",array[i]);
    }
    return 0;
}