约瑟夫环,帮忙找错
程序代码:
#include<stdio.h> #include<stdlib.h> typedef struct jos { int order; int mima; struct jos *link; }Node; Node *creat(int n) {int i,m[100]; Node *p,*q,*head; printf("请输入各自的密码:"); for(i=1;i<=n;i++) scanf("%d",&m[i]); head=(Node *)malloc(sizeof(Node)); head->order=1; head->mima=m[1]; q=head; for(i=1;i<=n;i++) { q->link=p; p->order=i+1; p->mima=m[i+1]; q=p; } p->link=head; return head; } main() {Node *head,*p,*q; int j,total=0,m,n; printf("请输入人数:"); scanf("%d",&n); head=creat(n); printf("请输入初始m"); scanf("%d",&m); p=head->link; j=1; while(total<n) { while(j<m-1) { p=p->link; j++; } q=p->link; m=q->mima; printf("%d",q->order); p->link=q->link; free(q); total++; j=0; } system("pause"); }