汉罗塔

#include"string.h"
#include"stdio.h"
int main()
{void xyz(int n,char x,char y,char z);/*详见书上*/
int n=20;
xyz(n,'A','B','C');
getch();
}
 void xyz(int n,char x,char y,char z)
{
 void ab(char a,char b);
 if(n==1)
 ab(x,z);
 else {
  xyz(n-1,x,z,y);/*else 里面是详尽的移动步骤,1:找个人将盘子从x移动到y,
自己把y移动到z,那个人再将y移动到z,然后那个人重复上诉动作*/
 ab(x,z);
xyz(n-1,y,x,z);
 }
 }
void ab(char a,char b)
{printf("%c-->%c\n",a,b);
}
 


你可能感兴趣的:(c)