鱼C论坛

 找回密码
 立即注册
查看: 4134|回复: 17

[技术交流] 约瑟夫环 练习

[复制链接]
发表于 2013-5-22 20:54:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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);          
          }

}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-22 21:40:58 | 显示全部楼层
有木有想过用数组做,那样可不好做哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-23 00:02:03 | 显示全部楼层
接下来 看看 小甲鱼老湿是怎么讲的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-23 00:03:20 | 显示全部楼层
初始化约瑟夫环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-24 21:43:55 | 显示全部楼层
感恩无私的分享与奉献 :)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-25 13:50:38 | 显示全部楼层
我只是路过打酱油的。:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 14:39:42 | 显示全部楼层
malloc忘了一定记着free
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-31 13:41:29 | 显示全部楼层
淡定,淡定,淡定……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-4 20:23:50 | 显示全部楼层
谢谢lz 向你学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-28 20:54:35 | 显示全部楼层
这程序运行起来有问题吖,全部自杀子后还没结束,然后程序就挂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-28 21:19:39 | 显示全部楼层
一直在学习 从未被超越!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-2 21:39:51 | 显示全部楼层
{:1_1:}厉害{:1_1:}厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-24 09:10:01 | 显示全部楼层
{:7_148:} 顶你楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-11-17 08:54:45 | 显示全部楼层
好文章转过来方便自己看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-11-18 15:30:38 | 显示全部楼层
感谢楼主的分享啦~~~~~~~~哈哈哈~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-11-19 10:11:18 | 显示全部楼层
有木有想过用数组做,那样可不好做哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-6 15:59:03 | 显示全部楼层
学渣表示学不会啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-14 06:48:05 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 08:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表