#include <stdio.h> #include <stdlib.h> struct Stu { int num; int score; struct Stu *next; }; void input(struct Stu *s,int n) { int i; struct Stu *p; for(p=s,i=0;p<s+n;p++,i++) { scanf("%d%d",&p->num,&p->score); if(i!=n-1) { p->next=&s[i+1]; } else { p->next=NULL; } } } void print(struct Stu *s) { struct Stu *p; for(p=s;p!=NULL;p=p->next) { printf("%d %d\n",p->num,p->score); } } struct Stu *R(struct Stu *s1,struct Stu *s2,int m) { s1[m-1].next=s2; struct Stu *p,*q,temp; for(p=s1;p!=NULL;p=p->next) { for(q=p->next;q!=NULL;q=q->next) { if(p->num>q->num) { temp.num=p->num; p->num=q->num; q->num=temp.num; temp.score=p->score; p->score=q->score; q->score=temp.score; } } } return s1; } int main() { int N,M; scanf("%d%d",&N,&M); struct Stu a[N],b[M]; input(a,N); input(b,M); print(R(a,b,N)); return 0; } |
Double click to view unformatted code.