这是一个关于汉诺塔的解法的程序,三根柱子分别用a,b,c代表,输入n表示盘子的个数.不知道这样为什么不行,大侠们给看看.3q先了
#include <stdio.h>
main()
{
int n;
printf("This is a game named HAN NO TA,\n");
printf("Now, pls insert ur number here:");
scanf("%d",&n);
printf("\nThe answer is : \n");
hnt(n,'a','b','c');
}
hnt(int n,char a,char b,char c)
{
switch(n)
{
case 1:printf("%c-->%c\n",a,c);break;
case 2:printf("%c-->%c\n",a,b);
printf("%c-->%c\n",a,c);
printf("%c-->%c\n",b,c);break;
default:hnt(n-1,'a','c','b');
hnt(1,'a','b','c');
hnt(n-1,'b','a','c');
}
} |