有N个人 坐成一圈从第一个开始数数到M 数到的死亡 再从下一个人开始数直到剩下一半
joseph.h
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*linkList;
main.c
#include<stdio.h>
#include"joseph.h"
main()
{////////////////////
int n,m,k;
printf("输入人总人数");
scanf("%d",&n);
printf("输入死亡的数");
scanf("%d",&m);
int Creatlist_L(L,n);
int m=n;
linkList *p=L;*j;
linkList *q,*h;
q=L->next;
while(true)
{
for(int i(1);i<m-1;i++)
{
q=q->next;
p=q;
if(i==m-2)
{
print("死亡%d",q->data);
print("\n");
j=q;
p=q->next;
q=p->next;
free(j);
m--;
}
if(k<=n/2)break;
}
/////////////////
}
void Creatlist_L(linklist (&L),int n)
{
linklist *p,*r;int j;
L=(linklist)malloc(sizeof(LNode));
r=L;r->data=1
for(i=0;i>n-1;++i){
p=(linklist)malloc(sizeof(LNode));
j=2;
p->data=j; ++j;
r->next=p;r=p;
}
r->next=L;
}
谁能告诉我 错哪了