找出所有不是这两个数组共有的元素

引入

找出不是两个数组共有的元素。输入一个正整数 n(1<n≤10),再输入 n 个整 数,存入第 1 个数组中;然后输入一个正整数 m(1<m<=10),再输入 m 个整数,存入第 2 个数组,找出所有不是这两个数组共有的元素。


代码

#include <stdio.h>

int main(){
	
	/**
	找出不是两个数组共有的元素。输入一个正整数 n(1<n≤10),再输入 n 个整 数,存入第 1 个数组中;
	然后输入一个正整数 m(1<m<=10),再输入 m 个整数,存入第 2 个数组,找出所有不是这两个数组共有的元素。
	*/
	
	//输入第一个组数的n
	int n;
	printf("Entry n:");
	scanf("%d",&n); 
	
	//定义第一个数组a
	int a[10];
	
	//循环输入第一个数组的值
	int i;
	for(i = 0; i < n; i++){
		scanf("%d",&a[i]);
	} 
	
	//输入第二个数组的m
	int m;
	printf("Entry m:");
	scanf("%d",&m);
	
	//定义第二个数组
	int b[10];
	
	//循环输入第二个数组的值
	for(i = 0; i < m; i++){
		scanf("%d",&b[i]);
	} 
	
	
	//定义一个数组存a、b都有的元素 
	int c[20],count=0;
	
	//找出共有的元素存在c 
	int j;
	for(i = 0; i < n; i++){
		for(j = 0; j < m; j++){
			 if(a[i] == b[j]){
				c[count] = a[i];
				count++;
			 }
		}
	}

	printf("非共有的数:\n");
	printf("a里面有:\n");
	for(i = 0; i < count; i++){
		for(j = 0; j < n; j++){
			if(c[i] != a[j]){
				printf("%d \n",a[j]);
			}
		}
	}
	
	printf("b里面有:\n");
	for(i = 0; i < count; i++){
		for(j = 0; j < m; j++){
			if(c[i] != b[j]){
				printf("%d \n",b[j]);
			}
		}
	}
	

	return 0;
} 


运行测试

在这里插入图片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章