gogo1979 发表于 2013-5-22 20:54:24

约瑟夫环 练习

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct s
{
          int data;
          struct s *next;

}huan;

huan *chushihua();                     //初始化约瑟夫环
void shuchu(huan *phode);          //输出
void weizhi(huan *phode,int i);      //递归输出自杀人的位置

void main()
{
         huan *phode;
          int i=1;

          phode=chushihua();
          shuchu(phode);
          weizhi(phode,i);
}

huan *chushihua()               //初始化约瑟夫环
{
         huan *hode,*p,*p1;
          int i;

          hode=p=p1=NULL;
          for(i=1; i<=41; i++)
          {
                       p=(huan *)malloc(sizeof(huan));
                        if(i==1)
                        {
                                hode=p;
                                  p->data =i;
                        }
                        else
                        {
                                p1->next =p;
                                  p->data =i;
                        }
                       p1=p;
          }
          p->next =hode;
          return hode;

}

void shuchu(huan *phode)          //输出
{
          huan *p=phode;
          
          do
          {
                      printf("%5d",p->data );
                        p=p->next ;
          }
         while(phode!=p );
         printf("\n\n");
}

void weizhi(huan *phode,int i)          //递归输出自杀人的位置
{
         if(phode==phode->next)
          {
                   return;
          }
      else
          {
                   if(phode->data ==0)
                   {
                            i--;
                   }
                   if(i==3)
                   {
                                 printf("%d号自杀去\n",phode->data);
                               phode->data=0;
                                  i=0;
                   }
                   weizhi(phode->next,++i);          
          }

}

听,在下雨 发表于 2013-5-22 21:40:58

有木有想过用数组做,那样可不好做哦

gogo1979 发表于 2013-5-23 00:02:03

接下来 看看 小甲鱼老湿是怎么讲的

网络学习 发表于 2013-5-23 00:03:20

初始化约瑟夫环

bafengao 发表于 2013-5-24 21:43:55

感恩无私的分享与奉献 :)

bafengao 发表于 2013-5-25 13:50:38

我只是路过打酱油的。:lol

460896339 发表于 2013-5-28 14:39:42

{:5_99:}malloc忘了一定记着free

bafengao 发表于 2013-5-31 13:41:29

淡定,淡定,淡定……

bafengao 发表于 2013-6-4 20:23:50

谢谢lz 向你学习

zZ_小春 发表于 2013-8-28 20:54:35

这程序运行起来有问题吖,全部自杀子后还没结束,然后程序就挂了

zhouhaibng 发表于 2013-8-28 21:19:39

一直在学习 从未被超越!

shi_1236 发表于 2013-9-2 21:39:51

{:1_1:}厉害{:1_1:}厉害

icecool 发表于 2013-9-24 09:10:01

{:7_148:} 顶你楼主

猪猪BBUn咕咕 发表于 2013-11-17 08:54:45

好文章转过来方便自己看

猪猪BBUn咕咕 发表于 2013-11-18 15:30:38

感谢楼主的分享啦~~~~~~~~哈哈哈~

猪猪BBUn咕咕 发表于 2013-11-19 10:11:18

有木有想过用数组做,那样可不好做哦

安静的渴 发表于 2014-11-6 15:59:03

学渣表示学不会啊

tlwangxd 发表于 2014-11-14 06:48:05

学习
页: [1]
查看完整版本: 约瑟夫环 练习