源代码: #include int main() { void hanoi(int n,char one,char two,char three); // 对hanoi函数的声明 int m; printf("input the number
源代码: #include int main() { void hanoi(int n,char one,char two,char three); // 对hanoi函数的声明 int m; printf("input the number of diskes:"); scanf("%d",&m); printf("The step to move %d diskes:
",m... 源代码:
#include
int main()
{
void hanoi(int n,char one,char two,char three); // 对hanoi函数的声明
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("The step to move %d diskes:
",m);
hanoi(m,'A','B','C');
}
void hanoi(int n,char one,char two,char three) // 定义hanoi函数
// 将n个盘从one座借助two座,移到three座
{
void move(char x,char y); // 对move函数的声明
if(n==1)
move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
void move(char x,char y) // 定义move函数
{
printf("%c-->%c
",x,y);
}
假设n=3,else下面的应为:
2 A C B
1 A B C
之后就执行if(n==1)了,它还怎么执行
move(one,three);
hanoi(n-1,two,one,three);
}
}
这半部分?
另外 它怎么能打印出 C-->B的? 展开
展开
全部