| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 975 人关注过本帖
标题:汉诺塔小程序
只看楼主 加入收藏
zfxheb123
Rank: 1
来 自:山东济宁
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-4-30
结帖率:100%
收藏
 问题点数:0 回复次数:6 
汉诺塔小程序
#include"string.h"
#include"stdio.h"

 char move(char getone,char putone)
{
   printf("%c-->%c\n",getone,putone);

}
 char hanoi(int n,char one,char two,char three)
{
if(n==1)
move(one,three);
else
{
 hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}

}

main()
{

char haoni(int,char,char,char);
int m=3;
char one,two,three;
one=getchar();two=getchar();three=getchar();
hanoi(m,one,two,three);


}



#include"string.h"
#include"stdio.h"

 char move(char getone,char putone)
{
   printf("%c-->%c\n",getone,putone);

}
 char hanoi(int n,char one,char two,char three)
{
if(n==1)
move(one,three);
else
{
 hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}

}

main()
{

char haoni(int,char,char,char);
int m=3;
char one,two,three;
one=getchar();two=getchar();three=getchar();
hanoi(m,one,two,three);


}









#include"string.h"
#include"stdio.h"

 char move(char getone,char putone)
{
   printf("%c-->%c\n",getone,putone);

}
 char hanoi(int n,char one,char two,char three)
{
if(n==1)
move(one,three);
else
{
 hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}

}

main()
{

char haoni(int,char,char,char);
int m=3;
char one,two,three;
one=getchar();two=getchar();three=getchar();
hanoi(m,one,two,three);


}
搜索更多相关主题的帖子: 汉诺塔 char three one 
2008-05-03 18:35
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
发了三个一样的

—>〉Sun〈<—
2008-05-03 18:55
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
分治法的应用....不过要想弄的很明白转换过程不是很容易

学习需要安静。。海盗要重新来过。。
2008-05-03 18:58
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
借LZ  的代码
问题::
我有点 不明白的是,这个递归是怎么实现的。
就是它入栈的顺序是怎样
如果我想让每一次的移动都有个编号并显示,该怎么改,

蝴 蝶 颤 动 了 翅 膀 !!!
2008-05-03 19:03
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
void move(int n, char a, char b)
{
    printf("%d: %c -> %c\n", n, a, b);
}

//-----------------------------------------


[[it] 本帖最后由 cosdos 于 2008-5-3 19:13 编辑 [/it]]

—>〉Sun〈<—
2008-05-03 19:09
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
ls  可没那么简单啊,我弄了半天也弄不出来,

蝴 蝶 颤 动 了 翅 膀 !!!
2008-05-03 22:09
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
得分:0 
这是谭浩强书上的例子原形。
2008-05-06 14:40
快速回复:汉诺塔小程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034656 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved