| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1069 人关注过本帖
标题:关于Hanoi塔的问题
取消只看楼主 加入收藏
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
关于Hanoi塔的问题
程序代码:
move(int n,int x,int y,int z)
{
    if(n==1)
      printf("%c-->%c\n",x,z);
    else
    {
      move(n-1,x,z,y);//1   这2句是怎么使输出的字符变换的啊?   一定要按照他的这个格式才能变换 是么??
      printf("%c-->%c\n",x,z);
      move(n-1,y,x,z);//2
    }
}
main()
{
    int h;
    printf("\ninput number:\n");
    scanf("%d",&h);
    printf("the step to moving %2d diskes:\n",h);
    move(h,'a','b','c');
}
else 后面的那2句很让我崩溃啊……
2011-09-28 16:07
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
收藏
得分:0 
还是不太明白啊……
主要是看到同时有3个参数我就有点发晕
move(n-1,x,z,y)的意思是把  N-1借助 Y将Z移到X上是么?
我主要就是没明白这句话里n-1后面的 x y z 都是什么作用

比如别的定义里 int a,b,c;这类的语句 要是改成int a,b,c,d,...;这都能知道是什么意思,
可是要把move(n-1,x,z,y) 改成 move(n-1,x,z,y,a,b)这样的,我完全不能理解
2011-09-28 17:16
快速回复:关于Hanoi塔的问题
数据加载中...
 
   



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

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