下面是第一种方法:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int arr1[4] = {0}; int arr2[5] = {0}; int i = 0,j=0,k=0; printf("请输入数组1(4个元素):\n"); for(i = 0;i<sizeof(arr1)/sizeof(arr1[0]);i++) { scanf("%d",&arr1[i]); } printf("请输入数组2(5个元素):\n"); for(i=0;i<sizeof(arr2)/sizeof(arr2[0]);i++) { scanf("%d",&arr2[i]); } for(j = 0; j<sizeof(arr1)/sizeof(arr1[0]); j++) { for(k = 0;k<sizeof(arr2)/sizeof(arr2[0]);k++) { if(arr1[j] == arr2[k]) { printf("有相同元素!\n"); } if(k<sizeof(arr2)/sizeof(arr2[0])) { break; } } if(j>=sizeof(arr1)/sizeof(arr1[0])) printf("没有相同元素!\n"); } return 0; }
上面的方法就需要判断的多一些了,并且判断的地方也要找准,下面的方法就会简单一些:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int arr1[4] = {0}; int arr2[5] = {0}; int i = 0,j=0,k=0; printf("请输入数组1(4个元素):\n"); for(i = 0;i<sizeof(arr1)/sizeof(arr1[0]);i++) { scanf("%d",&arr1[i]); } printf("请输入数组2(5个元素):\n"); for(i=0;i<sizeof(arr2)/sizeof(arr2[0]);i++) { scanf("%d",&arr2[i]); } for(j = 0; j<sizeof(arr1)/sizeof(arr1[0]); j++) { for(k = 0;k<sizeof(arr2)/sizeof(arr2[0]);k++) { if(arr1[j] == arr2[k]) { printf("有相同元素!\n"); return 0; } } } printf("没有相同元素!\n"); return 0; }