41个人,报数报到3的死,死亡顺序如下
#include <stdio.h>
#include "stdlib.h"
typedef struct ku{
int num;
struct ku *next;
}wuku;
void show(wuku *head);
void kill(wuku *head);
void people_creat(wuku *head)
{
int a,b;
wuku *p,*new;
p=head;
for(a=1;a<=41;a++)
{
new = (wuku*)malloc(sizeof (wuku));
new->num = a;
p->next = new;
p = new;
}
p->next = head->next;
show(head);
printf("\r\n\n");
kill(head);
}
void show(wuku *head)
{
wuku *p;
p=head->next;
for(;p->next!=head->next;p=p->next)
{
printf("%d ",p->num);
}
printf("%d ",p->num);
}
void kill(wuku *head)
{
int i=41,deadcount;
wuku *p,*q;
q = head;
p = q->next;
while (p->next!=p)
{
p=p->next;
printf("%d->",p->next->num);
p->next = p->next->next;
p=p->next;
}
}
int main() {
wuku *head;
head = (wuku*)malloc(sizeof(wuku));
people_creat(head);
return 0;
}