用C语言编写一个函数,用递归法求汉诺塔问题
时间: 2023-06-04 11:05:14 浏览: 232
用函数递归来解决汉诺塔问题(C语言实现)
好的,我明白了。以下是用C语言编写一个递归函数解决汉诺塔问题的代码:
```
void move(int n, char src, char dst, char mid) {
if (n == 1) {
printf("Move disk 1 from %c to %c\n", src, dst);
}
else {
move(n-1, src, mid, dst);
printf("Move disk %d from %c to %c\n", n, src, dst);
move(n-1, mid, dst, src);
}
}
```
其中,n表示盘子的数量,src、dst、mid分别表示三个柱子的名称。调用该函数时,将初始柱子、目标柱子和中间柱子的名称传递给它即可,例如:
```
move(3, 'A', 'C', 'B');
```
该程序将输出汉诺塔的移动步骤,将三个盘子从A柱子移动到C柱子。
阅读全文