以下是使用 C 语言解决汉诺塔问题的程序示例: ```c #include <stdio.h> // 移动盘子的函数 void hanoi(int n, char from_rod, char aux_rod, char to_rod) { if (n == 1) { printf("Move disk 1 from rod %c to rod %c\n", from_rod, to_rod); return; } hanoi(n - 1, from_rod, to_rod, aux_rod); printf("Move disk %d from rod %c to rod %c\n", n, from_rod, to_rod); hanoi(n - 1, aux_rod, from_rod, to_rod); } // 测试示例 int main() { int n = 3; // 要移动的盘子数量 hanoi(n, 'A', 'B', 'C'); return 0; } ``` 在上述代码中,`hanoi` 函数接受四个参数:要移动的盘子数量 `n`,起始塔座 `from_rod`,辅助塔座 `aux_rod`,目标塔座 `to_rod`。通过递归的方式来实现盘子的移动,并打印出每一步的移动过程。在 `main` 函数中可以设置要移动的盘子数量并调用 `hanoi` 函数。 [2024-11-08 12:06:51 | AI写代码神器 | 313点数解答]