#include <stdio.h>

#include <stdlib.h>

#define N 9

typedef struct node

{

int data;

struct node *next;

}ElemSN;

ElemSN *Createlink(int a[],int n){

int i;

ElemSN *h,*p;

h=p=(ElemSN*)malloc(sizeof(ElemSN));

h->next=NULL;

for(i=0;i<N;i++){

p=p->next=(ElemSN*)malloc(sizeof(ElemSN));

p->data=a[i];

p->next=NULL;

}

return h;

}

void DelkeyNode(ElemSN*h,int key){

ElemSN *p,*delp;

for(p=h;p->next&&p->next->data-key;p=p->next);

if(!p->next)

printf("Not found!\n");

else {

delp=p->next;

p->next=delp->next;

free(delp);

delp=NULL;

}

}

void Printlink(ElemSN *h){

ElemSN *p;

for(p=h;p->next;p=p->next)

printf("%2d\n",p->next->data);

}

int main(void){

int a[N]={1,2,3,4,5,6,7,8,9};

int key;

ElemSN *head;

head=Createlink(a,9);

printf("key=");

scanf("%d",&key);

DelkeyNode(head,key);

Printlink(head);

}