判断两个数组中是否有相同元素,有就输出有,没有就输出没有
2018-03-24 17:16
447 查看
第一种方法,将两个数组的值一一遍历,找寻有没有相等的数,代码如下#include<stdio.h>
#include<stdlib.h>int main()
{
int arr1[] = { 1, 2, 3, 5, 6, 7};
int arr2[] = { 1, 3, 4 };
int i = 0;
int j = 0;
for (i = 0; i <= sizeof(arr1) / sizeof(arr1[0]); i++)
{
for (j = 0; j < sizeof(arr2) / sizeof(arr2[0]); j++)
{
if (arr1[i] == arr2[j]) //遍历两个数组,找寻相等的数
{
printf("有\n");
break; //此时break跳出小循环
}
}
if (arr1[i] == arr2[j])
{
break; //此时如果不写if条件直接写break,会在i循环第一遍时就跳出来,导致后面的数不能再比较
}
}
if (i == sizeof(arr1) / sizeof(arr1[0])) //当所有的数都比较完还没有发现有相同的数,此时就是没有相同元素,输出没有
{
printf("没有\n");
}
system("pause");
return 0;
}
第二种方法,相对第一种方法来说优化了一点,利用变量count作为计数器,如果有相同的元素,就给count加1,最后判断count是否为0,为0则没有,不为0则有,代码如下#include<stdio.h>
#include<stdlib.h>int main()
{
int arr1[] = { 1, 2, 3 };
int arr2[] = { 5, 6, 4, 3 };
int i = 0;
int j = 0;
int count = 0;
for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
for (j = 0; j < sizeof(arr2) / sizeof(arr2[0]); j++)
{
if (arr1[i] == arr2[j])
{
count++; //发现有相同元素时给变量count的值加一
break; //此时跳出小循环
}
}
if (count != 0) //发现count的值不为0,此时说明有相同元素,跳出大循环
{
break;
}
}//判断count的值是否为0,为0说明没有相同元素,不为0说明有相同元素
if (count == 0)
{
printf("没有\n");
}
else if (count > 0) //如果直接写else就忽略了count可能为负数这一情况
{
printf("有\n");
}
system("pause");
return 0;
}
#include<stdlib.h>int main()
{
int arr1[] = { 1, 2, 3, 5, 6, 7};
int arr2[] = { 1, 3, 4 };
int i = 0;
int j = 0;
for (i = 0; i <= sizeof(arr1) / sizeof(arr1[0]); i++)
{
for (j = 0; j < sizeof(arr2) / sizeof(arr2[0]); j++)
{
if (arr1[i] == arr2[j]) //遍历两个数组,找寻相等的数
{
printf("有\n");
break; //此时break跳出小循环
}
}
if (arr1[i] == arr2[j])
{
break; //此时如果不写if条件直接写break,会在i循环第一遍时就跳出来,导致后面的数不能再比较
}
}
if (i == sizeof(arr1) / sizeof(arr1[0])) //当所有的数都比较完还没有发现有相同的数,此时就是没有相同元素,输出没有
{
printf("没有\n");
}
system("pause");
return 0;
}
第二种方法,相对第一种方法来说优化了一点,利用变量count作为计数器,如果有相同的元素,就给count加1,最后判断count是否为0,为0则没有,不为0则有,代码如下#include<stdio.h>
#include<stdlib.h>int main()
{
int arr1[] = { 1, 2, 3 };
int arr2[] = { 5, 6, 4, 3 };
int i = 0;
int j = 0;
int count = 0;
for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
for (j = 0; j < sizeof(arr2) / sizeof(arr2[0]); j++)
{
if (arr1[i] == arr2[j])
{
count++; //发现有相同元素时给变量count的值加一
break; //此时跳出小循环
}
}
if (count != 0) //发现count的值不为0,此时说明有相同元素,跳出大循环
{
break;
}
}//判断count的值是否为0,为0说明没有相同元素,不为0说明有相同元素
if (count == 0)
{
printf("没有\n");
}
else if (count > 0) //如果直接写else就忽略了count可能为负数这一情况
{
printf("有\n");
}
system("pause");
return 0;
}
相关文章推荐
- 判断两个数组中是否有相同的元素,有就输出“”有“”,没有就输出“”没有“”
- 判断两个数组是否有相同的元素?有输出“有”,没有输出“没有”
- 判断两个数组中是否有相同的元素,有就输出“有”,没有就输出“没有”
- 用C语言实现判断两个数组中是否有相同的元素,有就输出“有”,没有则输出“没有”
- 第十六周 OJ 判断两个数组中是否有相同元素
- 判断两个数组是否有相同元素
- 判断两个数组的元素是否相同,把相同的去掉
- 请教一个算法问题,有两个数组A,B,判断A中是否至少有一个元素和B中元素相同
- 用指针判断是否两个数组是否有相同的数字,有的话输出相同数字
- 判断两个数组中是否有相同的元素 C语言
- c语言:判断两个数组是否有相同的元素
- 判断两个数组中是否含有相同的元素
- 判断两个等长数组中元素是否一样,如不一样,输出不一样的元素
- 【C语言】判断两个数组中是否有相同的元素。
- C语言判断两个数组是否有相同的元素
- c语言:判断两个数组是否有相同的元素
- javascript 判断两个数组中是否存在相同元素
- Java对数组的操作(三)—比较两个数组中的元素是否相同的最简单方法
- 2017/12/31Java基础学习——判断两个数组是否相同のArrays.equals(a, b)方法
- JS 比较两个数组是否相等 是否拥有相同元素