用递归实现汉诺塔
#include "stdio.h"
//n:需要移动多少个圆盘
//将x上面的n个圆盘借助y搬运到z上
void move(int n,char x,char y,char z){//汉诺塔的递归函数
if(n==1){
printf("%c->%c\n",x,z);
}
else{
move(n-1,x,z,y);//将前n-1个圆盘从x借助z移动到y上
printf("%c->%c\n",x,z);//将第n个圆盘从x移动到z上
move(n-1,y,x,z); //将n-1个圆盘从y上借助x移动到z上
}
}
void main(){
int n;
printf("请输入汉诺塔的层数:");
scanf("%d",&n);
printf("\n移动的步骤如下:\n");
move(n,'x','y','z');
}