栈应用hanoi

/*  课本p54页*/

#include<stdio.h>
#include <iostream>
using namespace std;

void move(int n, char a, char b){
    printf("Move %c to %c.
",a,b);
}

void hanoi(int n, char a, char b, char c){//把n个盘子从a柱子移动到b柱子
    if(n > 0) {
        hanoi(n - 1, a, c, b);// 把n-1个盘子移动到c柱子上
        move(n, a, b);  // 把a移动到b
        hanoi(n - 1, c, b, a);    // 把第n-1个盘子从c柱子移动到b柱子上
    }
}

int main()
{
    int n;
    while(cin>>n){
        char a='a',b='b',c='c';
        hanoi(n,a,c,b);   //把n个盘子从a柱子移动到c柱子
    }
    return 0;
}
原文地址:https://www.cnblogs.com/13224ACMer/p/5037030.html