解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{
int num;
int grade;
struct student *next;
}node;
node *creatnode(int number);
//void sortnode(node *shape);
void sortNode(node *head);
int main()
{
int n,m;
scanf("%d %d",&n,&m);
node *firstlist=creatnode(n);
node *secondlist=creatnode(m);
for(node *add=firstlist;add!=NULL;add=add->next)
{
if(add->next==NULL)
{
add->next=secondlist->next;
break;
}
}
sortNode(firstlist);
for(node *add1=firstlist->next;add1!=NULL;add1=add1->next)
{
printf("%d %d\n",add1->num,add1->grade);
}
return 0;
}
node *creatnode(int number)
{
node *head,*normal,*temp;
head=(node *)malloc(sizeof(node));
if(head==NULL)
{
exit(0);
}
head->next=NULL;
temp=head;
for(int i=0;i<number;i++)
{
normal=(node *)malloc(sizeof(node));
if(normal==NULL)
{
exit(0);
}
scanf("%d %d",&normal->num,&normal->grade);
temp->next=normal;
temp=normal;
}
temp->next=NULL;
return head;
}
/*void sortnode(node *shape)
{
node *he=shape;
node *init=shape;
init->num=-1;
while(he!=NULL)
{
for(init=shape;init!=he;init=init->next)
{
if(init->num>he->num)
{
node *temp1;
temp1->num=he->num;
temp1->grade=he->grade;
temp1->next=NULL;
he->num=init->num;
he->grade=init->grade;
init->num=temp1->num;
init->grade=temp1->grade;
continue;
}
}
he=he->next;
}
}*/
void sortNode(node *head) {
node *he = head->next;
while (he != NULL) {
node *init = he->next;
while (init != NULL) {
if (he->num > init->num) {
int tempNum = he->num;
int tempGrade = he->grade;
he->num = init->num;
he->grade = init->grade;
init->num = tempNum;
init->grade = tempGrade;
}
init = init->next;
}
he = he->next;
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复