c语言例子(四)汉诺塔递归实现
汉诺塔 作为c语言的经典例子 很值得初学者 学习
#include<stdio.h>
void hannuo(int n,char one,char two,char three)
{
if(n==1)yidong(one,three);
else
{
hannuo(n-1,one,three,two);
yidong(one,three);
hannuo(n-1,two,one,three);
}
}
void yidong(char x,char y)
{
printf("%c->%c\n",x,y);
}
int main()
{
// 此代码 由励志句子网提供 www.lzjuzi.com
int m;
printf("请输入盘子数:");
scanf("%d",&m);
printf("移动%d个盘子的步骤是:\n",m);
hanoi(m,'A','B','C');
getchar();
getchar();
}