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