#include<stdio.h>
#include<stdlib.h>
struct LNode{
int data;
struct LNode *next;
};
typedef struct LNode *Node;
void del(Node head,int k){
Node r,y,z;
int num=0;
r=head;
while(r->next){
if(r->next->data==k){
z=r->next;
r->next=z->next;
free(z);
num=1;
break;
}
r=r->next;
}
y=head->next;
if(num==0){
printf("无可删除的结点。\n");
}
else{
while(y){
printf("%d ",y->data);
y=y->next;
}
}
}
int main(){
Node head,p,q,r,z,y;
head=(Node)malloc(sizeof(LNode));
head->next=NULL;
p=head;
int n=4;
printf("请输入%d个数:",n);
while(n>=1){
q=(Node)malloc(sizeof(LNode));
q->next=NULL;
scanf("%d",&q->data);
p->next=q;
p=q;
n--;
}
printf("请输入要删除的数:");
int k;
scanf("%d",&k);
del(head,k);
}