解题思路:1.先创建p,q两个链表数组(我也不知道叫什么,随便取的,大佬勿喷)

               2.输入数据

               3.合并数组(为了后面的排序)

               4.排序然后输出

注意事项:这好像不是链表,但是这种方法比较简洁,嘻嘻


参考代码:

#include<stdio.h>

#include<stdlib.h>

typedef struct

{

int a;

int b;

}score;

void input(score *&x,int n)

{

int a,b;

for(int i=0;i<n;i++)

{

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

}

}

score *sum(score *a,score *b,int n,int m)

{

score *s;

s=(score*)malloc(sizeof(score)*(m+n)); 

int i;

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

{

s[i]=a[i];

}

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

{

s[n+i]=b[i];

}

return s;

}

int main()

{

int n,m,i,j;

scanf("%d%d",&n,&m);

score *p,*q,*c;

p=(score*)malloc(sizeof(score)*n);

q=(score*)malloc(sizeof(score)*m);

c=(score*)malloc(sizeof(score)*(m+n)); 

input(p,n);

input(q,m);

c=sum(p,q,n,m);

for(i=0;i<m+n;i++)

{

for(j=i+1;j<m+n;j++)

{

if(c[i].a>c[j].a)

{

score temp=c[i];

c[i]=c[j];

c[j]=temp;

}

}

}

for(i=0;i<m+n;i++)

{

printf("%d %d",c[i].a,c[i].b);

putchar('\n');

}

return 0;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论