View Code of Problem 83

#include <stdio.h>
#include <stdlib.h>
typedef struct student{
	int no;
	int score;
	struct student *next;
}stu;
int main(){
	int N,M,swap;
	scanf("%d %d",&N,&M);	
	stu *L1,*L2,*s,*p,*min;
	L1=(stu *)malloc(sizeof(stu));   //L1变成指向头结点 
	L1->next=NULL;
	L2=(stu *)malloc(sizeof(stu));   //L2变成指向头结点 
	L2->next=NULL;
	while(N--){
		s=(stu *)malloc(sizeof(stu));
		scanf("%d %d",&s->no,&s->score);
		s->next=L1->next;
		L1->next=s;
	}
	while(M--){
		s=(stu *)malloc(sizeof(stu));
		scanf("%d %d",&s->no,&s->score);
		s->next=L2->next;
		L2->next=s;
	}
	for(s=L1->next;s->next!=NULL;s=s->next);
	s->next=L2->next;
	for(s=L1->next;s->next!=NULL;s=s->next){
		min=s;
		for(p=s;p!=NULL;p=p->next){
			if(p->no<min->no) min=p;
		}
		swap=min->no;
		min->no=s->no;
		s->no=swap;
		swap=min->score;
		min->score=s->score;
		s->score=swap;
	}
	for(s=L1->next;s!=NULL;s=s->next){
		printf("%d %d\n",s->no,s->score);
	}
}

Double click to view unformatted code.


Back to problem 83