以下是使用 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 %c to %c\n", from_rod, to_rod); return; } hanoi(n - 1, from_rod, to_rod, aux_rod); printf("Move disk %d from %c to %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`。通过递归的方式来实现汉诺塔的移动过程,并打印出每一步的移动操作。 [2024-11-09 17:40:13 | AI写代码神器 | 295点数解答]