描述
输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。
数据范围:
1≤n,m≤1000 , 序列中的值满足 0≤val≤30000
输入描述:
输入包含三行,
第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。
第二行包含n个整数,用空格分隔。
第三行包含m个整数,用空格分隔。
输出描述:
输出为一行,输出长度为n+m的升序序列,即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并。
#include <stdio.h>
int main()
{
int n, m;
scanf("%d%d",&n, &m);
int arr[n+m];
int i;
//赋值
for(i = 0;i < n+m;i++)
{
scanf("%d",&arr[i]);
}
//升序排序
for(i = 1;i < n+m;i++)
{
int j;
int temp;
for(j = 0;j < i;j++)
{
if(arr[i] <= arr[j])
{
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
//打印
for (i = 0;i < n+m;i++)
{
printf("%d ",arr[i]);
}
return 0;
}

京公网安备 11010502036488号