题解 | 有序序列合并

有序序列合并

https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897

#include <stdio.h>

void Input_arr(int* a, int n)//输入n个float数值到数组a(初始化
{
    int i = 0;
    for (i = 0; i < n; i++)
        scanf("%d", a + i);
}

void merge(int* a, int* b,int n,int m)//合并打印两个升序排序的数组,打印顺序为升序
{
	int i = 0, j = 0;
	int na = 0, nb = 0;
	while (i<n&&j<m)
	{
		na = *(a + i);nb = *(b + j);
		if (na < nb) { printf("%d ", na);i++; }
		else { printf("%d ", nb); j++;}
	}
    if(i<n)
    {
        for(;i<n;i++)
              printf("%d ", *(a+i));
     }
     else 
        { for(;j<m;j++)
              printf("%d ", *(b+j));}

    }



int main(int argc, char const* argv[])
{
    int a[1000] = {0 };
    int b[1000] = { 0 };
    int n = 0, m =0;
    scanf("%d%d", &n, &m);
	Input_arr(a, n);
	Input_arr(b, m);
	merge(a, b, n, m);
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
momo1saxax23:你这简历只能找个电子厂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务