#include
typedefstructgame
{
x09intn;
x09structgame*next;
}Node,*List;
intmain()
{
x09ListL=newNode,p=L,q;
x09//初始化循环链表
x09for(inti=1;inext=newNode;
x09x09p->n=i;
x09}
x09p->next=L->next;
x09//从L->next开始
x09p=L->next;
x09while(L->next->next!=L->next)
x09{
x09x09p=p->next;
x09x09q=p->next;//q指向要退出的,p指向前一个节点
x09x09p->next=q->next;//退出该人
x09x09if(q==L->next)//如果退出的节点是接在头结点后面则修改头结点next
x09x09{
x09x09x09L->next=q->next;
x09x09}
x09x09p=q->next;
x09}
x09printf("%d",L->next->n);
}