首页 > 代码库 > 汉诺塔
汉诺塔
#include <stdio.h>void hannuota(int n, char a, char b, char c){ /* 若果是1个盘子 直接将盘从子啊a移动到c; 否则 先将a柱子上的(n-1)个借助c移动到b, 再将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, b); 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‘); }
汉诺塔
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。