题解 | 有序序列合并

#include <stdio.h>

int main() {
    int a = 0;
    int b = 0;
    int arr1[1000] = {0};
    int arr2[1000] = {0};
    
    scanf("%d %d", &a, &b);//输入数组上限
    for (int i = 0; i < a; i++) 
    {
        scanf("%d", &arr1[i]);//输入第一个数组
    }

    for (int j = 0; j < b; j++) 
    {
        scanf("%d", &arr2[j]);//输入第二个数组
    }
    int i = 0;
    int j = 0;//for循环后i,j的值发生变化,要重新定义
    while (i < a && j < b) 
    {
        if (arr1[i] < arr2[j]) 
        {
            printf("%d ", arr1[i]);
            i++;
        } else 
        {
            printf("%d ", arr2[j]);
            j++;
        }
    }
    while (i < a) 
    {
         printf("%d ", arr1[i]);
         i++;
    }
    while (j<b) 
    {
         printf("%d ", arr2[j]);
         j++;
    }   
    return 0;
}

全部评论

相关推荐

03-13 09:57
已编辑
武汉大学 Java
点赞 评论 收藏
分享
草稿猫编程:查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务