找出所有不是這兩個數組共有的元素

引入

找出不是兩個數組共有的元素。輸入一個正整數 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;
} 


運行測試

在這裏插入圖片描述


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