#include<stdio.h> int i = 1;//定义全局变量,每次调用后加1 void Hanoi(int n, char A, char B, char C) { if (n == 1)//如果只有一个直接从A移到B "%2d-(%2d):%c==>%c\n" { printf("%c To %c\n",A,C); } else { Hanoi(n - 1, A, C, B);//把n - 1个从A移到C借助B printf("%c To %c\n",A, C); Hanoi(n - 1, B, A, C);//把n - 1个从C移到B借助B } } int main() { int n; char A = 'A'; //定义ABC表示三个柱子 char B = 'B'; char C = 'C'; scanf("%d", &n); Hanoi(n, A, B, C); return 0; } /************************************************************** Problem: 1222 User: admin Language: C Result: Accepted Time:9 ms Memory:1144 kb ****************************************************************/