求两个数组的交集 c语言

 

此题需要手动输入5个数而不是静态数据,代码参考:

如有帮助请在我的回答上点击【采纳】,谢谢!

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int a[5],b[5],c[10],d[10],x,y,z;
    printf("请输入5个A集合数据,空格隔开,回车结束:\n");
    for(x=0;x<5;x++){
    	scanf("%d",&a[x]);
    	
    }
    fflush(stdin);
    printf("请输入5个B集合数据,空格隔开,回车结束:\n");
    for(y=0;y<5;y++){
    	scanf("%d",&b[y]);
    	
    }
    printf("集合A的元素有\n");
    for(x=0;x<5;x++){
    	printf("%3d",a[x]);
    }
     printf("\n集合B的元素有\n");
    for(y=0;y<5;y++){
    	printf("%3d",b[y]);
    }
   
    //交集
    z=0;
    for(x=0;x<5;x++){
    	for(y=0;y<5;y++){
    		if(a[x]==b[y]){
    			d[z]=a[x];
    			z++;
    			break;
    		}
    	}
    }
    
    printf("\nA和B的交集:\n");
    for(x=0;x<z;x++){
    	printf("%3d",d[x]);
    }
}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) 
{
    int i,j,m=0,flag;
    int a[]={1,2,3,5,6};//定义两个数组
    int b[]={3,4,5,6,7};
    int c[11];
    
    for(i=0;i<5;i++)//交集 
    {
        for(j=0;j<5;j++)
        {
            if(a[i]==b[j])
            {
                c[m++]=a[i];
                break;
            }
        }
    }
    printf("交集:\n"); 
    for(i=0;i<m;i++)
        printf("%-4d",c[i]); //输出交集
    return 0;
   }