/*将塔座a上的编号从1到n、直径从小到大的圆盘一倒塔座c上,b用作辅助塔座*/
/*参数n为盘子数量,a/*
程序清单:
void hanoi(int n,char a,char b,char c)
{
if(n>0)
{
hanoi(n-1,a,c,b); /*将1至n-1个盘子从a座移动到b座上,c为辅助塔*/
printf("%d from %c to %c\n",n,a,c); /*输出移动步骤*/
hanoi(n-1,b,a,c); /*将1至n-1个盘子从b座移动到b座上,c为辅助塔*/
}
}
main()
{
int n;
printf("\nPlease enter the number of tower:");
scanf("%d",&n);
printf("\n");
hanoi(n,'a','b','c'); /*字符'a','b','c'为3个塔座的名称 */
}
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=951056