汉诺塔问题

来源:互联网 发布:淘宝精仿iphone6plus 编辑:程序博客网 时间:2024/06/04 19:24

有n个环的汉诺塔问题:

void tranf(int n, char a, char b, char c){   if(n == 1)      printf("%c=>%c\n",a,c);  else  {      tranf(n-1, a, c, b);      tranf(1, a, b, c);//此处使用printf("%c=>%c\n",a,c)也是可以的; 不得不承认熟练造就完美!       tranf(n-1, b, a, c);  }}

主函数:

int main(){   int n;   printf("please input the numbers of rings:\n");   scanf("%d", &n);   tranf(n,'A', 'B', 'C');//三个盘:A B C盘,A盘放置原先的环;C盘放置最后的环;B环为过渡盘   system("pause");   return 0;}


原创粉丝点击