输入两个整数数组,每个数组有五个整数,合并,然后按照数值从小到大排序,c语言
时间: 2024-05-09 21:17:39 浏览: 48
可以使用如下代码实现:
```
#include <stdio.h>
#include <stdlib.h>
void merge(int arr1[5], int arr2[5], int merged[10]) {
int i, j, k;
i = j = k = 0;
while (i < 5 && j < 5) {
if (arr1[i] < arr2[j]) {
merged[k++] = arr1[i++];
} else {
merged[k++] = arr2[j++];
}
}
while (i < 5) {
merged[k++] = arr1[i++];
}
while (j < 5) {
merged[k++] = arr2[j++];
}
}
int compare(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
int main() {
int arr1[5] = {5, 3, 1, 4, 2};
int arr2[5] = {10, 9, 8, 7, 6};
int merged[10];
int i;
merge(arr1, arr2, merged);
qsort(merged, 10, sizeof(int), compare);
for (i = 0; i < 10; i++) {
printf("%d ", merged[i]);
}
return 0;
}
```
该代码首先定义了一个 `merge` 函数,用来合并两个数组。然后定义了一个 `compare` 函数,用来传递给 `qsort` 函数排序使用。最后在 `main` 函数中调用这两个函数,并输出排序后的结果。
阅读全文