解题思路:
注意事项:
参考代码:
#include<stdio.h> #include<stdlib.h> typedef struct node { int xh,score; struct node *next; }Node,*LinkList; void Initnode(LinkList *L) { *L=(LinkList)malloc(sizeof(Node)); (*L)->xh=NULL; (*L)->score=NULL; (*L)->next=NULL; } void created(LinkList *L,int n) { Node *r,*s; r=(*L); while(n--) { (s)=(LinkList)malloc(sizeof(Node)); scanf("%d%d",&(s->xh),&(s->score)); r->next=s; r=s; } r->next=NULL; } Node* changed(Node* L1,Node* L2) { Node *r; r=L1; while(r->next!=NULL) { r=r->next; } r->next=L2->next; return L1; } void print(Node *L1,int n,int m) { int a[n+m],e,l,p; p=n+m; l=0; Node *r,*r1; r=L1->next; for(int i=0;i<n+m;i++) { a[i]=r->xh; r=r->next; } for(int j=0;j<n+m;j++) { for(int k=j;k<n+m;k++) { if(a[j]>a[k]) { e=a[j]; a[j]=a[k]; a[k]=e; } } } r1=L1->next; while(p) { if(r1->xh==a[l]) { printf("%d %d\n",r1->xh,r1->score); p--; l++; r1=L1; } r1=r1->next; } } int main() { int n,m; LinkList L1,L2; Initnode(&L1); Initnode(&L2); scanf("%d%d",&n,&m); created(&L1,n); created(&L2,m); L1=changed(L1,L2); print(L1,n,m); free(L1); free(L2); return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:878 |
这可能是一个假的冒泡法浏览:1071 |
C语言训练-求PI* (C语言代码)浏览:638 |
WU-小九九 (C++代码)浏览:1713 |
母牛的故事 (C语言代码)浏览:1451 |
简单的a+b (C语言代码)浏览:683 |
简单的a+b (C语言代码)浏览:444 |
矩阵转置 (C语言代码)浏览:855 |
简单的a+b (C语言代码)浏览:473 |
母牛的故事 (C语言代码)浏览:519 |