c语言输入两个整数数组,每个数组有5个整数,将二者进行合并,然后按照数值从小到大排序输出。
时间: 2024-05-14 12:15:15 浏览: 74
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
下面是一个示例代码:
```c
#include <stdio.h>
#define N 5
int main()
{
int A[N], B[N], C[2*N];
int i, j, k;
printf("请输入第一个数组:\n");
for (i = 0; i < N; i++) {
scanf("%d", &A[i]);
}
printf("请输入第二个数组:\n");
for (i = 0; i < N; i++) {
scanf("%d", &B[i]);
}
// 合并两个数组
i = 0;
j = 0;
k = 0;
while (i < N && j < N) {
if (A[i] < B[j]) {
C[k++] = A[i++];
} else {
C[k++] = B[j++];
}
}
while (i < N) {
C[k++] = A[i++];
}
while (j < N) {
C[k++] = B[j++];
}
// 排序
for (i = 0; i < 2*N-1; i++) {
for (j = i+1; j < 2*N; j++) {
if (C[j] < C[i]) {
int tmp = C[i];
C[i] = C[j];
C[j] = tmp;
}
}
}
// 输出结果
printf("合并排序后的数组为:\n");
for (i = 0; i < 2*N; i++) {
printf("%d ", C[i]);
}
printf("\n");
return 0;
}
```
代码中定义了三个数组:A、B 分别用来存储输入的两个整数数组;C 用来存储合并后的数组,大小为 2*N,其中 N 为每个数组的大小。接下来,先利用 while 循环将两个数组合并成一个数组 C,然后再利用两层循环对 C 数组进行排序。最后输出排序后的数组即可。
阅读全文