C语言大神求解。。一道集合求并集

#include<stdio.h>
int main ()
{
int i,k,j,a[4],b[4],c[8];
printf("请输入集合a的值:");
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
c[i]=a[i];
}
printf("\n");
printf("请输入集合b的值:");
for(j=0;j<4;j++)
{
scanf("%d",&b[j]);
}
k=4;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(c[i]!=b[j])
{
c[k]=b[j];
k++;

}
}
while(k!=0)
{
printf("%d ",c[k]);
--k;
}

}

#include<stdio.h>
int main ()
{
int i,k,j,a[4],b[4],c[8];
printf("请输入集合a的值:");
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
c[i]=a[i];
}
printf("\n");
printf("请输入集合b的值:");
for(j=0;j<4;j++)
{
scanf("%d",&b[j]);
}
k=4;
/*
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(c[i]!=b[j])
{
c[k]=b[j];
k++;

}
}
    */
    /*--add start--*/
    for (j = 0; j < 4; j++){
        for (i = 0; i < 4; ++i){
            if (c[i] == b[j]){//判断b[j]是否在c中出现过
                break;
            }
        }
        if (i >= 4){//若没有出现过则加入集合
            c[k] = b[j];
            k++;
        }
    }
    /*--add end--*/
    while(k!=0)
    {
        --k; //changed
        printf("%d ",c[k]);
    }
    return 0;

}追问

现在有点事。。晚一点看看。。谢谢你了

温馨提示:答案为网友推荐,仅供参考
相似回答