c语言求两组整数的交集
时间: 2023-11-01 10:02:55 浏览: 238
要求求两组整数的交集,即找出两组整数中相同的数字。可以使用C语言编写一个函数来实现。
首先,定义一个函数,命名为findIntersection,该函数接受两个参数,分别是两个整数数组和它们的大小。
在函数中,可以使用两个循环嵌套的方式来遍历两个数组,比较每个元素是否相同。如果找到相同的数字,则将它们输出或存储在一个新的数组中。
具体的代码实现如下:
```c
#include <stdio.h>
void findIntersection(int arr1[], int size1, int arr2[], int size2) {
int intersection[size1 < size2 ? size1 : size2];
int intersectionSize = 0;
for (int i = 0; i < size1; i++) {
for (int j = 0; j < size2; j++) {
if (arr1[i] == arr2[j]) {
intersection[intersectionSize] = arr1[i];
intersectionSize++;
break;
}
}
}
printf("The intersection of the two arrays is: ");
for (int i = 0; i < intersectionSize; i++) {
printf("%d ", intersection[i]);
}
}
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {4, 5, 6, 7, 8};
int size1 = sizeof(arr1) / sizeof(arr1[0]);
int size2 = sizeof(arr2) / sizeof(arr2[0]);
findIntersection(arr1, size1, arr2, size2);
return 0;
}
```
以上代码演示了如何找到两个数组的交集并输出。在代码中,我们使用两个循环来遍历两个数组,并使用if语句来比较元素是否相同。如果相同,则将其存储在一个新的数组中。最后,打印出交集的元素。
运行以上代码,输出结果为:4 5,表示两个数组的交集为4和5。
阅读全文