郝斌---递归之汉诺塔

来源:互联网 发布:武术知乎 编辑:程序博客网 时间:2024/06/07 01:47
#include<stdio.h>void Hannuota(int n, char A, char B, char C){/*如果一个盘子直接将A柱子上的盘子从A移到C否则先将A柱子上的n-1个盘子借助C移到B直接将A柱子上的盘子从A移到C最后将B柱子上的n-1个盘子借助A移到C*/if (n == 1){printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n", n, A, C);}else{Hannuota(n - 1, A, C, B);printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n", n, A, C);Hannuota(n - 1, B, A, C);}}void main(){int n;char ch1 = 'A';char ch2 = 'B';char ch3 = 'C';printf("请输入移动盘子的个数:");scanf("%d", &n);Hannuota( n, 'A', 'B', 'C');}

0 0