c语言升序输出两组整数的交集(a∩b)
时间: 2023-11-03 07:03:06 浏览: 144
要升序输出两组整数的交集(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
阅读全文