#include<stdio.h>
void shift(int n,char x,char y)
{
printf("第%d个盘子从%c-------%c\n",n,x,y);
}
void tower(int n,char A,char B,char C)
{
if(n==1) shift(n,A,C);
else
{
tower(n-1,A,C,B);
shift(n,A,C);
tower(n-1,B,A,C);
}
}
int main()
{
int number;
printf("请输入要移动的盘子数:");
scanf("%d",&number);
tower(number,'A','B','C');
return 0;
}
C语言-汉诺塔问题完整代码
最新推荐文章于 2024-08-24 12:03:35 发布