解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>



typedef struct Stu1{

int  num;

int  score;

struct Stu1 *next;

}stu1;


stu1 *initLink(int n)

{

stu1 *p=(stu1*)malloc(sizeof(stu1));

stu1 *temp=p;

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

{

stu1 *a=(stu1*)malloc(sizeof(stu1));

scanf("%d%d",&a->num,&a->score);

a->next=NULL;

temp->next=a;

temp=temp->next;

}

return p;

}


stu1 *hebing(stu1 *A,stu1 *B)

{

stu1 *temp1=A;

while(temp1->next!=NULL)

{

temp1=temp1->next;

}

stu1 *temp2=B;

temp1->next=temp2->next;

free(temp2);

return A;

}


int disply(stu1 *A)

{

stu1 *temp=A;

while(temp->next!=NULL)

{

   temp=temp->next;

printf("%d %d\n",temp->num,temp->score);

}

return 0;

}


int sort(stu1 *C)

{

stu1 *temp1=NULL;

stu1 *temp2=NULL;

stu1  tmp;

stu1  tmp2;

for(temp1=C->next;temp1->next!=NULL;temp1=temp1->next)

{

for(temp2=temp1->next;temp2!=NULL;temp2=temp2->next)

{

if(temp1->num > temp2->num)

{

tmp=*temp1;

*temp1=*temp2;

*temp2=tmp;

tmp2.next=temp1->next;

temp1->next=temp2->next;

temp2->next=tmp2.next;}

}

}

return 0;

}


int destory(stu1 *C)

{

stu1 *temp=C;

stu1 *tmp;

while(temp!=NULL)

{

tmp=temp->next;

free(temp);

}

return 0;

}


int main()

{

int n,m;

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

stu1 *A;

stu1 *B;

stu1 *C;

A=initLink(n);

B=initLink(m);

C=hebing(A,B);

sort(C);

disply(C);

destory(C);



    return 0;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论