题解 | #有序序列合并#
有序序列合并
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; }