用C语言编写一段汉诺塔处理程序
时间: 2023-09-08 09:08:50 浏览: 77
下面是用C语言编写的汉诺塔处理程序:
```c
#include <stdio.h>
void move(int n, char A, char B, char C) {
if (n == 1) {
printf("Move disk 1 from %c to %c\n", A, C);
} else {
move(n - 1, A, C, B);
printf("Move disk %d from %c to %c\n", n, A, C);
move(n - 1, B, A, C);
}
}
int main() {
int n;
printf("Enter the number of disks: ");
scanf("%d", &n);
move(n, 'A', 'B', 'C');
return 0;
}
```
该程序使用递归的方式实现了汉诺塔的移动过程。当n为1时,直接将盘子从A杆移到C杆;当n大于1时,先将n-1个盘子从A杆移到B杆,然后将第n个盘子从A杆移到C杆,最后将n-1个盘子从B杆移到C杆。
阅读全文