求助大佬 约瑟夫环问题
[em08#include "s.h"
void main()
{
Node *r,*s,*p,*L,*t;
int m,n,i,j,password;
int order[30];
L=(Linklist)malloc(sizeof(Node));
r=L;p=L;j=0;
printf("输入学生人数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("现在为第%d个学生",i);
printf("输入该学生密码:");
scanf("%d",&password);
s=(Node*)malloc(sizeof(Node));
s->ipass=password;
s->inum=i;
r->next=s;
r=s;
}
r->next=L->next;
printf("输入初始密码:");
scanf("%d",&m);
i=1;j=0;p=L->next;
if(p!=NULL)
{
if(p==r)
{
order[j]=p->inum;
free(p);
}
for(;i<=m;i++)
{
if(i==m)
{
order[j]=p->inum;
m=p->ipass;
t=r->next;
r->next=p->next;
p=p->next;
free(t);
i=1;j++;
}continue;
p=p->next;r=r->next;
}
}
for(i=0;i<=n-1;i++)
{
printf("%d\t",order[i]);
}
}