|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
void main()
{
void hanoi(int n,char a,char b,char c);
int n;
printf("请输入要移动的块数:");
scanf("%d",&n);
hanoi(n,'a','b','c');
}
void hanoi(int n,char a,char b,char c)
{
if(n==1)
printf("\t%c->%c\n",a,c);
else
{
hanoi(n-1,a,c,b);
printf("\t%c->%c\n",a,c);
hanoi(n-1,b,a,c);
}
}
这个程序是没问题的,实际的移动问题我是清楚的,但是这种递归程序的内部是怎么运行的我不太清楚,进行调试了也看不懂..因为也是一下子输出一堆...
比如说我以3为例子,输出中有一个c->b
比如说这个语句是怎么输出的啊...代码中哪个语句输出了这个内容啊...,可以的话以3为例子..一个输出一个输出的说一下呗..不行的话,大概说一下也行,我再看看..谢谢了~
|
|