输入两个整数数组,每个数组有5个整数,将二者进行合并,然后按照数值从小到大排序输出。 c语言大学内容
时间: 2024-05-03 14:17:55 浏览: 107
以下是一个C语言程序,可以实现输入两个整数数组,将二者合并排序,最后输出排序后的结果:
```c
#include <stdio.h>
int main()
{
int arr1[5], arr2[5], merged[10];
int i, j, k;
// 输入第一个数组
printf("Enter 5 integers for the first array:\n");
for(i = 0; i < 5; i++)
scanf("%d", &arr1[i]);
// 输入第二个数组
printf("Enter 5 integers for the second array:\n");
for(i = 0; i < 5; i++)
scanf("%d", &arr2[i]);
// 合并数组
for(i = 0; i < 5; i++)
merged[i] = arr1[i];
for(i = 5, j = 0; i < 10; i++, j++)
merged[i] = arr2[j];
// 排序
for(i = 0; i < 10; i++)
{
for(j = i + 1; j < 10; j++)
{
if(merged[j] < merged[i])
{
int temp = merged[i];
merged[i] = merged[j];
merged[j] = temp;
}
}
}
// 输出结果
printf("The merged and sorted array is:\n");
for(i = 0; i < 10; i++)
printf("%d ", merged[i]);
printf("\n");
return 0;
}
```
这个程序中,我们首先声明了三个数组:`arr1`、`arr2`和`merged`。`arr1`和`arr2`分别用于存储输入的两个整数数组,`merged`用于存储合并后的数组。我们先输入`arr1`和`arr2`,然后将它们合并到`merged`数组中。最后,我们使用冒泡排序(Bubble Sort)算法将`merged`数组按照数值从小到大排序,最后输出排序后的结果。
需要注意的是,由于这里使用了冒泡排序算法,时间复杂度为O(n^2),在实际应用中可能不够高效。如果需要更高效的排序算法,可以考虑使用快速排序(Quick Sort)或归并排序(Merge Sort)等算法。
阅读全文