首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C语言经典算法之汉诺塔2

C语言经典算法之汉诺塔2

move(char getone,char putone)
{
printf("%c-->%c\n",getone,putone);
}
void hanoi(int n,char one,char two,charthree)
{
if(n==1)move(one,three);
else{
hanio(n-1,one,three,two);   \*A针的n-1个盘子通过C针移到B*\
move(one,three);            \*A针的第n个盘子移到C针,打印出来*\
hanoi(n-1,two,one,three);   \*B针的n-1个盘子通过A针移到C*\
}
}
main()
{
int m;
printf("input the number of diskes:");
scanf("%d",&m);
printf("the step to moving %3d diskes:\n",m);
hanoi(m,'A','B','C');
}
返回列表