思路:
将n-1个盘子移动到B柱
将第n个盘子移动到C柱
将n-1个盘子移动到C柱
main6.c
#include <stdio.h> void move(int n,char x,char y,char z) ; int main(void) { int n; printf("请输入n="); scanf("%d",&n); getchar(); move(n,'X','Y','Z'); return 0; } void move(int n,char x,char y,char z) { if(1 == n) { printf("%c->%c\n",x,z); }else{ move(n-1,x,z,y);//将n-1个盘子从x移动到y move(1,x,y,z);//将x柱子上剩下的一个盘子移动到z柱子上 move(n-1,y,x,z);//将y柱上的n-1个盘子移动到z柱子上 } }
本文介绍了一个使用C语言解决汉诺塔问题的程序。该程序通过递归方法实现了盘子从A柱移动到C柱的过程,并在每次移动时输出具体步骤。用户可以输入任意数量的盘子来观察移动过程。
2280

被折叠的 条评论
为什么被折叠?



