代码如下:
#include<stdio.h> void Hannuota(int n,char A,char B,char C) { // 如果是1个盘子 // 直接将A主子上的盘子借助C移到B // 否则 // 先将A柱子上的n-1盘子借助C移到B // 直接将A柱子上的盘子从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,C); Hannuota(n-1,B,A,C); } } int main() { char ch1='A'; char ch2='B'; char ch3='C'; int n; printf("输出盘子的个数\n"); scanf("%d",&n); Hannuota(n,'A','B','c'); return 0; }