#include <stdio.h>
void hano(int n,char a,char b,char c)
{
//当盘子个数为奇数个时 第一步 把 1 从 a移到c,
// 当盘子个数是偶数个是 第一步 把 1 从 a移到b,
if(n==1)
printf("\t将%d个盘片从%c移动到%c\n",n,a,c); else{
hano(n-1,a,c,b);
printf("\t将第%d个盘片从%c移动到%c\n",n,a,c);
hano(n-1,b,a,c);
}
}
int main(void)
{
int n;
printf("输入将要移动多少个盘子n:" );
scanf("%d",&n);
printf("递归结果:\n");
hano(n,'A','B','C');
return 0;
}
以上是代码 问题在下面;
void hano(int n,char a,char b,char c)
{
//当盘子个数为奇数个时 第一步 把 1 从 a移到c,
// 当盘子个数是偶数个是 第一步 把 1 从 a移到b,
if(n==1)
printf("\t将%d个盘片从%c移动到%c\n",n,a,c); else{
hano(n-1,a,c,b);
printf("\t将第%d个盘片从%c移动到%c\n",n,a,c);
hano(n-1,b,a,c);
}
}
int main(void)
{
int n;
printf("输入将要移动多少个盘子n:" );
scanf("%d",&n);
printf("递归结果:\n");
hano(n,'A','B','C');
return 0;
}
以上是代码 问题在下面;







