#include<stdio.h> //汉诺塔问题 void hannuota(int n,char a,char b,char c); int main(void){ char ch2 = 'A'; char ch3 = 'B'; char ch4 = 'C'; int n = 0; printf("请输入要移动的盘子的个数:"); scanf("%d",&n); hannuota(n,ch2,ch3,ch4); return 0; } /* 如果是一个盘子 直接将A柱子上的盘子 从A移到C 否则 先A柱子上的n-1个盘子借助C移到B 再将A柱子上的最后一个盘子从A移到C 然后将B柱子上的n-1个盘子借助A移到C */ //将盘子从a借助b移到c void hannuota(int n,char a,char b,char c){ if(n == 1){ printf("将编号%d盘子从%c移到%c\n",n,a,c); }else{ //先A柱子上的n-1个盘子借助C移到B hannuota(n-1,a,c,b); //再将A柱子上的最后一个盘子从A移到C printf("将编号%d盘子从%c移到%c\n",n,a,c); //然后将B柱子上的n-1个盘子借助A移到C hannuota(n-1,b,a,c); } }
分享标题:汉诺塔问题c语言实现
转载来源:https://www.cdcxhl.com/article16/peoegg.html
成都网站建设公司_创新互联,为您提供网站维护、App开发、做网站、ChatGPT、云服务器、移动网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联