用c语言输入两个整数数组,每个数组有5个整数,将二者进行合并输出 然后按照数值从小到大排序输出。
时间: 2024-05-11 13:16:23 浏览: 130
C语言 并集
4星 · 用户满意度95%
好的,让我来回答你的问题。
以下是用 C 语言输入两个整数数组、合并并排序的代码:
```c
#include <stdio.h>
void merge(int arr1[], int arr2[], int size, int merged[]) {
int i = 0, j = 0, k = 0;
while (i < size && j < size) {
if (arr1[i] < arr2[j]) {
merged[k] = arr1[i];
i++;
}
else {
merged[k] = arr2[j];
j++;
}
k++;
}
while (i < size) {
merged[k] = arr1[i];
i++;
k++;
}
while (j < size) {
merged[k] = arr2[j];
j++;
k++;
}
}
void sort(int arr[], int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) {
for (j = i + 1; j < size; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr1[5], arr2[5], merged[10], i;
printf("输入第一个数组:");
for (i = 0; i < 5; i++) {
scanf("%d", &arr1[i]);
}
printf("输入第二个数组:");
for (i = 0; i < 5; i++) {
scanf("%d", &arr2[i]);
}
merge(arr1, arr2, 5, merged);
printf("合并后的数组为:");
for (i = 0; i < 10; i++) {
printf("%d ", merged[i]);
}
sort(merged, 10);
printf("\n排序后的数组为:");
for (i = 0; i < 10; i++) {
printf("%d ", merged[i]);
}
return 0;
}
```
此程序会先让用户输入两个包含 5 个整数的数组,然后将两个数组合并到一个包含 10 个整数的数组中,并按照数值从小到大排序输出该数组。
希望能回答你的问题。
阅读全文