| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 653 人关注过本帖
标题:汉诺塔问题....不是太明白
取消只看楼主 加入收藏
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
结帖率:100%
收藏
 问题点数:0 回复次数:4 
汉诺塔问题....不是太明白
#include "stdio.h"
int main(void)
{
void hannoi (int n,char one,char two,char three);
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("the step to moveing %d diskes:\n",m);
hanoi(m,'A','B','C');
}
void hanoi (int n,char one,char two,char three)
{
void move (char x,char y);
if (n==1)
move (one,three);
else
{
hanoi (n-1,one,three,two);
move (one,three);
hanoi (n-1,two,one,three);
}
}
void move (char x,char y)
{
printf("%c-->%c\n",x,y);;
}

这个是谭浩强 第三版书
P176的例题...但是我写在C-FREE上没编译成功.....而且我看不懂程序是如何运行的
请高手们指点指点.....
搜索更多相关主题的帖子: 汉诺塔 char void int 
2007-04-20 13:22
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
这次是对的....
能麻烦给我解释一下程序是如何运行的吗?我看不很懂
2007-04-20 13:35
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
比谭浩强书里
多了个return 0;
是这样吧?
我刚开始学函数,还不太懂
2007-04-20 13:36
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
还是搞不很懂- -递归和以前那些题不一样...那些题想一想就知道程序是怎么运行的
这个想了半天也没明白
2007-04-20 14:42
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
return 8;的意思是???把8返回到 calage(int n)里?
return calage(n-1)+1 的意思就是返回 calage(n-1)+1的值了?
比如 n=1
calage(int n)
就是1了.....
如果n=0
那就是0
这样理解对不对?
不过我感觉不是很对.....
2007-04-20 15:32
快速回复:汉诺塔问题....不是太明白
数据加载中...
 
   



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

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