约瑟夫环问题后面的程序怎么写啊????
#include<stdio.h>#include<stdlib.h>
#define NULL 0
typedef struct lnode
{
int m;//密码
int x;//自己的位置
struct lnode *next;
}Lnode,*L;
void main()
{
int m,n,num,i,c,d;
L l,p,q;
printf("请输入一个整数作为报数上限值:\n");
scanf("%d",&m);
printf("有几个人围成一圈:\n");
scanf("%d",&num);
printf("%d个人手中的密码分别是:\n",num);
l=(L)malloc(sizeof(Lnode));
l->m='\0';
l->x=0;
l->next=NULL;
q=l;
i=1;
getchar();
while(i<=num)
{
scanf("%d",&n);
getchar();
p=(L)malloc(sizeof(Lnode));
p->x=i;
p->m=n;
p->next=NULL;
q->next=p;
q=p;
i++;
}
q->next=l->next;
// 以上是完成单向循环链表的建立
p=l->next;
q=l;
}
}