题解 | #有序序列合并#
有序序列合并
https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897
#include <stdio.h>
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int arr[2000]={0}; //因为最后要对两行数一起排列所以两行数并成一个数组
for(int i=0;i<m+n;i++)
{
scanf("%d",&arr[i]); //输入两行数
}
for(int i=0;i<m+n;i++) //从arr[0]开始依次与后面的数进行比较
{
for(int j=i+1;j<m+n;j++) //j=i+1从i的下一个数到最后一个数
{
int tmp=0;
if(arr[j]>arr[i]) //依次与arr[i]比较,将较大的数放在前面也就是arr[i]的位置
{
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
} //循环结束构成由大到小排列的数组
for(int i=m+n-1;i>=0;i--) //由小到大排序输出
{
printf("%d ",arr[i]);
}
return 0;
}
