比较两组整数,输出两组整数相同的部分,用c语言
时间: 2023-05-18 14:07:03 浏览: 39
以下是C语言代码,可以实现比较两组整数,输出两组整数相同的部分:
```c
#include <stdio.h>
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {3, 4, 5, 6, 7};
int len1 = sizeof(arr1) / sizeof(arr1[0]);
int len2 = sizeof(arr2) / sizeof(arr2[0]);
int i, j;
printf("两组整数相同的部分为:");
for (i = 0; i < len1; i++) {
for (j = 0; j < len2; j++) {
if (arr1[i] == arr2[j]) {
printf("%d ", arr1[i]);
break;
}
}
}
return 0;
}
```
输出结果为:
```
两组整数相同的部分为:3 4 5
```
注意:这里只是一个示例代码,实际应用中需要根据具体情况进行修改。
相关问题
c语言升序输出两组整数的交集(a∩b)
要升序输出两组整数的交集(a∩b),我们可以使用以下步骤来完成:
1. 首先,我们需要定义两个整数数组a和b,并初始化它们的元素。
2. 然后,我们需要遍历数组a中的元素,在数组b中查找是否存在相同的元素。如果找到了相同的元素,我们将其输出。
3. 为了升序输出交集,我们可以使用冒泡排序的方法对输出的交集进行排序。首先,我们比较交集中第一个元素和第二个元素的大小,如果第一个元素大于第二个元素,我们交换它们的位置。然后,我们再比较第二个元素和第三个元素的大小,依此类推,直到所有的元素都按照升序排列。
4. 最后,我们将排序后的交集元素输出。
下面是一个示例代码:
```
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int a[] = {1, 5, 7, 3, 9};
int b[] = {5, 2, 8, 1, 7};
int intersect[10]; // 假设交集数组最大长度为10
int aSize = sizeof(a) / sizeof(a[0]);
int bSize = sizeof(b) / sizeof(b[0]);
int i, j, k = 0;
for (i = 0; i < aSize; i++) {
for (j = 0; j < bSize; j++) {
if (a[i] == b[j]) {
intersect[k] = a[i];
k++;
break;
}
}
}
int intersectSize = k;
bubbleSort(intersect, intersectSize);
printf("交集为:");
for (i = 0; i < intersectSize; i++) {
printf("%d ", intersect[i]);
}
return 0;
}
```
以上代码会输出交集为:1 5 7
c语言求两组整数的并集
要求两组整数的并集是一个常见且有用的操作。可以使用C语言来实现这个功能。首先,我们需要定义两个整数数组来存储两组整数。然后我们可以创建一个新的数组来存储并集结果。接着,我们可以使用嵌套循环来遍历两个整数数组,将它们的元素逐个比较,如果相等就将其添加到并集数组中。在比较的过程中,我们还需要检查并集数组中是否已经存在相同的元素,以避免重复添加。
具体的代码实现如下:
```c
#include <stdio.h>
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {3, 4, 5, 6, 7};
int unionArr[10]; // 假设并集的数组大小不超过10
int i, j, k = 0;
for(i = 0; i < 5; i++) {
int found = 0;
for(j = 0; j < 5; j++) {
if(arr1[i] == arr2[j]) {
found = 1;
break;
}
}
if(found == 0) {
unionArr[k++] = arr1[i];
}
}
for(i = 0; i < 5; i++) {
unionArr[k++] = arr2[i];
}
printf("并集的结果为:");
for(i = 0; i < k; i++) {
printf("%d ", unionArr[i]);
}
return 0;
}
```
以上代码通过两个数组的嵌套循环来比较元素,并将结果存储到新的并集数组中,并最终输出结果。这样就实现了使用C语言求两组整数的并集。