经典的Hanoi问题 【函数的递归调用】

#include<stdio.h>
void move(int no,char from ,char to );
void hanoi(int n,char A,char B,char C);
void main()
{
int n;
printf("输入disk数目: \n");
scanf("%3d ",&n);
printf("所需要的步骤为:\n");
hanoi(n,'A','B','C');
}
void move(int no,char from,char to)
{
printf("Move %3d : %c -->%c\n",no,from,to);
}
void hanoi(int n,char A,char B,char C)
{
if(n==1)
move(n,A,C);
else
{
hanoi(n-1,'A','C','B');
move(n,A,C);
hanoi(n-1,'B','A','C');
}
}

 

你可能感兴趣的:(C++,c,C#)