码迷,mamicode.com
首页 > 编程语言 > 详细

郝斌--数据结构---汉诺塔实现(c语言实现)

时间:2015-11-10 22:25:17      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include <stdio.h>
 2 
 3 void hannuota(int n,char A,char B,char C)//表示A借助于B移到C 
 4 {
 5     /*
 6         如果是1个盘子
 7             直接将柱子上的盘子从A移到C
 8         否则
 9             先将A柱子上的n-1个盘子从C移到B
10             直接将A柱子上的盘子从A移到C
11             最后将B柱子上的n-1个盘子借助A移到C 
12     */
13     if(1 == n)
14     {
15         printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
16     }    
17     else
18     {
19         hannuota(n-1, A, C, B);
20         printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
21         hannuota(n-1, B, A, C);
22     } 
23 }
24 
25 int main(void)
26 {
27     char ch1 = A;
28     char ch2 = B;
29     char ch3 = C;
30     int n; 
31     
32     printf("请输入要移动的个数: ");
33     scanf("%d", &n);
34     
35     hannuota(n,A,B,C);
36     
37     return 0;
38 }

 运行示例

技术分享

郝斌--数据结构---汉诺塔实现(c语言实现)

标签:

原文地址:http://www.cnblogs.com/huangtao1996/p/4954373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!