哪位大神帮我修改下约瑟夫环问题的程序代码?

#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{int data;
int password;
struct Node *next;
}node,*linklist;
void Greatlist(linklist *L,int n)
{node *q,*p;
int i;
(*L)=(linklist)malloc(sizeof(linklist));
if((*L)==NULL)
{
printf("程序出错,退出\n");
exit(1);
}
p=(*L);
printf("请输入第1个人的密码");
scanf("%d",&(p->password));
p->data=1;
for(i=2;i<=n;i++)
{
q=(linklist)malloc(sizeof(linklist));
if((*L)==NULL)
{
printf("程序出错,退出\n");
exit(1);
}
printf("请输入第%d个人的密码",i);
scanf("%d",&(q->password));
q->data=i;
p->next=q;
p=q;
}
p->next=(*L);
}
void output(linklist *L,int n,int m)
{
node *p,*q;
int i=1;
p=(*L);
printf("输出出对序列:");
while(n>=1)
{
while(i!=m)
{q=p;
p=p->next;
i++;
}
printf("%d",p->data);
m=p->password;
q->next=p->next;
free(p);
p=q->next;
i=1;
n--;
}
printf("\n");
}

void main()
{
linklist L;
int n,m;
printf("请输入人数:");
scanf("%d",&n);
getchar();
Greatlist(&L,n);
printf("请输入第一个报数号:");
scanf("%d",&m);
output(&L,n,m);

}

第1个回答  2013-11-10
不给思路 不给注释的代码 真心难看

约瑟夫环哪来的密码?
相似回答
大家正在搜