汉诺塔!!!!!!!
#include <stdio.h>
int main(int argc, char *argv[])
{
int n;
char A,B,C;
void fun(int n,char a,char b,char c);
scanf("%d",&n);
fun(n,'A','B','C');
return 0;
}
void move(int n,char a,char b)
{
printf("Move disk %d from %c to %c\n",n,a,b);
}
void fun(int n,char a,char b,char c)
{
void move(int n,char a,char b);
if(n==1) //以此结束递归调用
move(n,a,c);
else
{
fun(n-1,a,c,b); //一走上面的n-1个,到另外一个柱上
move(n,a,c); //实现最低层一个的移动到想要移动到的柱上
fun(n-1,b,a,c); //在调用一次 fun(n-1,b,a,c); 函数,把n-1个移到想要移动到的柱上
}
}