解题思路:暴力解决
注意事项:边界的处理
参考代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data,n;
struct node *next,*ptr;
}node;
node* creadlist(int n){
node *head,*p,*q;
head=(node *)malloc(sizeof(node));
head->next=NULL,head->ptr=NULL;
q=head;
q->data=0,q->n=0;
for(int i=0;i<n;i++){
p=(node *)malloc(sizeof(node));
scanf("%d%d",&p->data,&p->n);
p->next=q->next;
q->next=p;
p->ptr=q;
q=p;
}
return head;
}
void opea(node *heada,node *headb,int n){
node *p,*q;
node *s;
int delete_n;
p=heada->next,q=headb->next;
for(;p!=NULL;){
q=headb->next;
for(;q!=NULL;){
if(p->data==q->data){
s=p->ptr;
if(p->next==NULL)
s->next=p->next;
else {
p->next->ptr=s;s->next=p->next;
}
n-=1;
}
q=q->next;
}
p=p->next;
}
p=heada->next;
printf("%d\n",n);
for(int i=0;i<n;i++){
printf("%d %d\n",p->data,p->n);
p=p->next;
}
}
int main () {
int n,m;
scanf("%d%d",&n,&m);
node *heada,*headb;
heada=creadlist(n);
headb=creadlist(m);
opea(heada,headb,n);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:686 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:761 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:956 |
核桃的数量 (C语言代码)浏览:726 |
矩阵加法 (C语言代码)浏览:1768 |
简单的a+b (C语言代码)浏览:1024 |
简单的a+b (C语言代码)浏览:683 |
简单的a+b (C语言代码)浏览:672 |
1218题求大神帮忙看看怎么不能过浏览:759 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:469 |