回复 4楼 韩明海
麻烦大侠帮忙看看这个程序:
#include "stdio.h"
typedef struct listnode
{
int data;
listnode *next;
};
listnode order(int k,int n)
{
listnode *persion,*head,*p,*q,*h;
p=head=(listnode)malloc(listnode);
for(i=0;i<n-1;i++)
{
q=(listnode)malloc(listnode);
p->next=q;
q=p;
}
p=h;
p->next=head;
head=p;
for(i=k;i<=n;i++)
{
p->data=k;
p++
}
for(j=k-1;j>0;j--)
{
h->data=j;
h--;
}
return head;
}
void delect(int k,listnode w)
{listnode *p,*q;
int n;
w=p;
while(p->data!=k)
p->next=p;
for(n=1;p->next!=null;n++)
{
p=p->next;
if(n%5==0)
{
q=p->next;p->next=q->next
}
}
printf("%d",p->data);
}
void main()
{int a,b;
listnode *l,*w;
printf("请输入用餐人数:");
scanf("%d",&a);
printf("请输入从第几人开始计数:");
scanf("%d",&b);
l=order(b,a);
delect(b,l);
}