中国建设银行金华分行网站,php网站怎么做静态化,网络营销网站,网页制作下载安装包要求#xff1a; a.输入两个升序排列的序列#xff0c;将两个序列合并为一个有序序列并输出。 数据范围#xff1a; 1≤n,m≤1000 1≤n,m≤1000 #xff0c; 序列中的值满足 0≤val≤30000 输入描述#xff1a; 1.输入包含三行#xff0c; 2.第一行包含两个正整数n, m a.输入两个升序排列的序列将两个序列合并为一个有序序列并输出。 数据范围 1≤n,m≤1000 1≤n,m≤1000 序列中的值满足 0≤val≤30000 输入描述 1.输入包含三行 2.第一行包含两个正整数n, m用空格分隔。n表示第二行第一个升序序列中数字的个数m表示第三行第二个升序序列中数字的个数。 3.第二行包含n个整数用空格分隔。 4.第三行包含m个整数用空格分隔。 输出描述 输出为一行输出长度为nm的升序序列即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并。 示例1 输入 5 6 1 3 7 9 22 2 8 10 17 33 44 输出
1 2 3 7 8 9 10 17 22 33 44 目录 1. 思路2. 代码 1. 思路
给俩个整形数组arr1[n]用 i 遍历用 j 遍历arr2[m],合并到arr[3]用 k 遍历然后比较arr1[i] 和arr2[j]的大小若arr1[i]arr[j],把arr3[k]arr1[i],i,k,反之arr3[k] arr2[j],j,k。
2. 代码
#include stdio.h
int main()
{int n 0;int m 0;scanf(%d %d, n, m);int arr1[n];int arr2[m];int i 0;for ( i 0; i n; i){scanf(%d, arr1[i]);}for (i 0; i m ; i){scanf(%d, arr2[i]);}int arr3[m n];i 0;int j 0;int k 0;while (in jm){if (arr1[i] arr2[j]){arr3[k] arr1[i];}elsearr3[k] arr2[j];}if (i n){while (j m){arr3[k] arr2[j];}}else{while (in){arr3[k] arr1[i];}}for ( i 0; i mn; i){printf(%d , arr3[i]);}return 0;
}把代码写入链接https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897?tpId107tqId33381rp1ru/ta/beginner-programmersqru/ta/beginner-programmers/question-ranking 点击测试提交