c7-8.c 674 B

12345678910111213141516171819202122232425262728293031
  1. #include <stdio.h>
  2. int main()
  3. {
  4. void hanoi(int n,char one,char two,char three); // 对hanoi函数的声明
  5. int m;
  6. printf("input the number of diskes:");
  7. scanf("%d",&m);
  8. printf("The step to move %d diskes:\n",m);
  9. hanoi(m,'A','B','C');
  10. return 0;
  11. }
  12. void hanoi(int n,char one,char two,char three) // 定义hanoi函数
  13. // 将n个盘从one座借助two座,移到three座
  14. {
  15. void move(char x,char y); // 对move函数的声明
  16. if(n==1)
  17. move(one,three);
  18. else
  19. {
  20. hanoi(n-1,one,three,two);
  21. move(one,three);
  22. hanoi(n-1,two,one,three);
  23. }
  24. }
  25. void move(char x,char y) // 定义move函数
  26. {
  27. printf("%c-->%c\n",x,y);
  28. }