汉诺塔问题c语言实现
#include<stdio.h>//汉诺塔问题voidhannuota(intn,chara,charb,charc);intmain(void){charch2='A';charch3='B';charch4='C';intn=0;printf("请输入要移动的盘子的个数:");scanf("%d",&n);hannuota(n,ch2,ch3,ch4);return0;}/*如果是一个盘子直接将A柱子上的盘子从A移到C否则先A柱子上的n-1个盘子借助C移到B再将A柱子上的最后一个盘子从A移到C然后将B柱子上的n-1个盘子借助A移到C*///将盘子从a借助b移到cvoidhannuota(intn,chara,charb,charc){if(n==1){printf("将编号%d盘子从%c移到%c\n",n,a,c);}else{//先A柱子上的n-1个盘子借助C移到Bhannuota(n-1,a,c,b);//再将A柱子上的最后一个盘子从A移到Cprintf("将编号%d盘子从%c移到%c\n",n,a,c);//然后将B柱子上的n-1个盘子借助A移到Channuota(n-1,b,a,c);}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。