解题思路:





注意事项:





参考代码:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <string.h>

struct node

{

    int x;

}Lc[200+10],Lb[100+10],La[110];

void Listinsert(struct node *p,struct node *q);

void show(struct node *p,int n);

int main()

{

    int i,j,k,flag=1,len_a,len_b,len_c,y;

    while(scanf("%d",&y)!=EOF)

    {

        if(flag%2)

        {

            for(i=0;i<y;i++)

            {

                scanf("%d",&La[i].x);

            }

            len_a=y;

        }

        else

        {

            for(i=0;i<y;i++)

            {

                scanf("%d",&Lb[i].x);

            }

            len_b=y;

        }

        flag++;

        if(flag%2)

        {

            len_c=len_a+len_b;

            i=k=j=0;

            while(i<len_c&&j<len_a&&k<len_b)

            {

               if(La[j].x>=Lb[k].x)

               {

                   Listinsert(&Lc[i++],&Lb[k++]);

               }

               else

                Listinsert(&Lc[i++],&La[j++]);

            }

            while(j<len_a)

            {

               Listinsert(&Lc[i++],&La[j++]);

            }

            while(k<len_b)

            {

                Listinsert(&Lc[i++],&Lb[k++]);

            }

            show(Lc,len_c);

        }

    }

    return 0;

}


void Listinsert(struct node *p,struct node *q)

{

    *p=*q;

}

void show(struct node *p,int n)

{

    struct node *iii;

    for(iii=p;iii<p+n;iii=iii+1)

    {

        if(iii<=p)

            printf("%d",iii->x);

        else

            printf(" %d",iii->x);

    }

    printf("\n");

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论