1. #include<stdio.h>
    2. //将n个盘子从x借助y移动到z
    3. void move(int n,char x,char y,char z) {
    4. if (1==n)
    5. printf("%c-->%c\n",x,z);
    6. else {
    7. move(n-1,x,z,y); //将n-1个盘子从x借助z移动到y
    8. printf("%c-->%c\n",x,z);
    9. move(n-1,y,x,z);
    10. }
    11. }
    12. int main() {
    13. int n;
    14. printf("请输入汉诺塔的层数:");
    15. scanf("%d",&n);
    16. printf("移动的步骤如下:\n");
    17. move(n,'X','Y','Z');
    18. return 0;
    19. }