#include<stdio.h>
typedef struct node
{
int data;
struct node *next;
}Linknode,*Linklist;
Linklist creat()
{
Linklist Head;
Linknode *End,*New;
Head=(Linklist) malloc(sizeof(Linknode));
End=New=Head;
int x;
scanf("%d",&x);
while(x!=0)
{
New=(Linklist) malloc(sizeof(Linknode));
New->data=x;
End->next=New;
End=New;
scanf("%d",&x);
}
End->next=NULL;
return Head;
}
void output(Linklist L)
{
Linknode *p;
p=L->next;
while(p!=NULL)
{
printf("%d\t",p->data);
p=p->next;
}
printf("\n");
}
Linklist dz(Linklist L)
{
Linknode *p,*q;
p=L->next;
L->next=NULL;
while(p!=NULL)
{
q=p->next;
p->next=L->next;
L->next=p;
p=q;
}
return q;
}
main()
{
Linklist A,B;
A=creat();
output(A);
dz(A);
output(A);
}