当前位置: 代码迷 >> 综合 >> 数据结构---汉诺塔例子程序
  详细解决方案

数据结构---汉诺塔例子程序

热度:67   发布时间:2024-02-09 10:07:31.0
#include <stdio.h>void hannuota(int n, char A, char B, char C)
{/** 如果是1个盘子*   直接将A柱子上的盘子从A移到C* 否则*   先将A柱子上的n-1个盘子借助C移到B*   直接将A柱子上的盘子从A移到C*   最后将B柱子上的n-1个盘子借助A移到C*/if (1 == n)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);}
}int main(void)
{int n;printf("请输入要移动盘子个数: ");scanf("%d",&n);hannuota(n,'A','B','C');return 0;
}