1.代码输入
#include <stdio.h>
void hanoi(int paraN, char a, char b, char c)
{
if (paraN <= 0) {
return 1;
}
else {
hanoi(paraN- 1, a, c, b);
printf("%c -> %c\n", a, b);
hanoi(paraN - 1, c, b, a);
}
}
void hanoiTest()
{
printf("-----hanoi Test begins-----\n");
printf("2 plates are starting.\n");
hanoi(3, 'A', 'B', 'C');
printf("3 plates are starting.\n");
hanoi(2, 'A', 'B', 'C');
printf("-----hanoi Test ends-----\n");
}
void main()
{
hanoiTest();
}
2.结果输出
代码如下(示例):
-----hanoi Test begins-----
2 plates are starting.
A -> B
A -> C
B -> C
A -> B
C -> A
C -> B
A -> B
3 plates are starting.
A -> C
A -> B
C -> B
-----hanoi Test ends-----
本文详细介绍了使用C语言实现经典的Hanoi塔问题的代码,包括递归函数hanoi和测试函数hanoiTest,展示了不同盘子数量下的操作过程和结果输出。
919

被折叠的 条评论
为什么被折叠?



