链表解决约瑟夫
程序代码:#include <stdio.h>
#define N 13
struct student
{
int num;
struct student *next;
}stu[N+1];
void main()
{
struct student stu[N+1];
struct student *p=stu;
int i,count;
for(i=1;i<=N;i++)
{
if(stu[i].num==13) stu[i].next=&stu[1];
else stu[i].next=&stu[i+1];
stu[i].num=i;
}
for(count=0;count<N-1;count++) //退出人数小于12个人的时候执行循环;
{
i=1;
while(i!=3)
{
p=p->next;
if(p->num!=0) i++;
}
p->num=0;
p=p->next;
}
printf("\n The last one is:\n");
for(i=1;i<=N;i++)
if(stu[i].num)
printf("%d\n",stu[i].num);
}
我是照着书上例子敲的,vc6.0没检查出错误,可就是运行不出结果。
再次声明:指针我不是很清楚,麻烦各位大侠讲解的时候,详细点
题目是:13个人报数,到3出局










,嘿嘿!不会!