#include<stdio.h>
#include<malloc.h>
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList;
int zhuti(Linklist A)
{
typedef struct Node *p,*q;
int i;
printf("输入报数上限\n");
scanf("%d",&m);
LinkList B;
*B=(typedef struct Node*)malloc(sizeof(Node));
B->next=NULL;
p=A;
q=B;
while(p!=p->next)
{
for(i=1;i!=m;i++)
p=p->next;
q->next=p;
q=q->next;
p->next=p->next->next;
}
q->next=p;
q=q->next;
q->next=NULL;
return (B);
}
LinkList shuchu(LinkList B)
{
while(B!=NULL)
{
printf("%d,",B->date);
B=B->next;
}
}
void jianli(LinkList A)
{
typedef struct Node *s;
int i,n;
printf("输入人数\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=(Node*)malloc(sizeof(Node));
s->date=i;
s->next=A->next;
A->next=s;
}
}
int main()
{
LinkList B;
LinkList A;
A=(LinkList)malloc(sizeof(Node));
A->next=NULL;
jianli(LinkList A);
B=zhuti(Linklist A);
shuchu(LinkList B);
return 0;
}
这代码问题好多,看得出来是初学者,结构体应用语法错误都有好多,这里贴一个用这份代码改出来的正确答案。