输入两个整数数组,每个数组有5个整数,将二者进行合并,然后按照数值从小到大排序输出。,c语言代码
时间: 2024-03-23 13:36:42 浏览: 450
c代码-C语言三个数从小到大排序/输出: 任意输入 3 个整数,编程实现对这 3 个整数由小到大进行排序。 冒泡排序的动画 https://haokan.baidu.com/v?vid=8080732080990475789&pd=bjh&fr=bjhauthor&type=video
好的,以下是一份 C 语言代码实现您的需求:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int array1[5], array2[5], merged_array[10];
int i, j, k;
// 输入第一个数组
printf("请输入第一个数组(包含5个整数):\n");
for (i = 0; i < 5; i++) {
scanf("%d", &array1[i]);
}
// 输入第二个数组
printf("请输入第二个数组(包含5个整数):\n");
for (i = 0; i < 5; i++) {
scanf("%d", &array2[i]);
}
// 合并数组并排序
i = 0; // array1 的下标
j = 0; // array2 的下标
k = 0; // merged_array 的下标
while (i < 5 && j < 5) {
if (array1[i] < array2[j]) {
merged_array[k++] = array1[i++];
} else {
merged_array[k++] = array2[j++];
}
}
while (i < 5) {
merged_array[k++] = array1[i++];
}
while (j < 5) {
merged_array[k++] = array2[j++];
}
// 输出排序后的结果
printf("合并后的数组(按数值从小到大排序):\n");
for (i = 0; i < 10; i++) {
printf("%d ", merged_array[i]);
}
return 0;
}
```
首先,我们定义了三个数组:`array1`、`array2` 和 `merged_array`,分别用于存储用户输入的两个数组和合并后的数组。
接着,我们使用 `for` 循环和 `scanf` 函数分别输入两个数组,其中 `%d` 表示输入一个整数。
然后,我们使用 `while` 循环将两个数组合并为一个数组,并按照从小到大的顺序排序。具体实现方式是,使用三个下标 `i`、`j` 和 `k` 分别遍历 `array1`、`array2` 和 `merged_array` 数组,比较 `array1[i]` 和 `array2[j]` 的大小,将较小的值赋给 `merged_array[k]`,并将对应下标 `i` 或 `j` 加 1,同时将下标 `k` 加 1。当其中一个数组遍历完成后,将另一个数组的剩余元素依次赋给 `merged_array` 数组。
最后,我们使用 `for` 循环和 `printf` 函数输出排序后的结果,其中 `%d` 表示输出一个整数,`\n` 表示换行符。
希望这份代码能够帮助到您,如果您有任何问题或需要进一步的解释,请随时询问我。
阅读全文