汉诺塔
1 #include<stdio.h> 2 void move(int n,char a,char b,char c) 3 { 4 if(n==1) 5 printf("\t%c->%c\n",a,c); //当n只有1个的时候直接从a移动到c 6 else 7 { 8 move(n-1,a,c,b); //第n-1个要从a通过c移动到b 9 printf("\t%c->%c\n",a,c); 10 move(n-1,b,a,c); //n-1个移动过来之后b变开始盘,b通过a移动到c,这边很难理解 11 } 12 } 13 14 int main() 15 { 16 int n; 17 printf("请输入要移动的块数:"); 18 scanf("%d",&n); 19 move(n,'a','b','c'); 20 return 0; 21 }
见贤思齐焉见不贤而内自省也