当前位置: 代码迷 >> C语言 >> [求助]这个程序中递归调用的详细流程,它是怎么工作的!
  详细解决方案

[求助]这个程序中递归调用的详细流程,它是怎么工作的!

热度:222   发布时间:2007-08-16 04:25:25.0
[求助]这个程序中递归调用的详细流程,它是怎么工作的!

这个程序是解决一个河内塔的问题,并非真正的移动,这只是一个移动的方案!
请哪位仁兄帮我解决一下难道,我实在看不懂Hanoi()函数是怎么工作的,希望能把详细工作步骤写一下,谢谢:比如:第一步做什么,第二步做什么等等,
假设用户输入的是3!


#include <stdio.h>
void main()
{
int number;
printf("The Tower of Hanoi program.\n");
printf("Please enter the number of diske :");
scanf("%d",&number);
Hanoi('A','B','C',number);
}

int Hanoi(char one,char two,char three,int n) /*函数调用*/
{

if(n==1)
printf("%c-->%c.\n",one,three);
else
{
Hanoi(one,three,two,n-1);
printf("%c-->%c.\n",one,three);
Hanoi(two,one,three,n-1);
}
}

搜索更多相关的解决方案: 递归  流程  河内  number  

----------------解决方案--------------------------------------------------------
  相关解决方案