您的位置:首页 > 编程语言 > C语言/C++

C++简单练习题3——汉诺塔问题

2017-03-21 21:34 225 查看


#include <iostream>
using namespace std;

void move(char sor, char des)
{
cout << sor << "->" << des << endl;
}

void han(int m, char sor, char med, char des)
{
if (m == 1)
move(sor, des);
else
{
han(m - 1, sor, des, med);    //这部分是重点
move(sor, des);
han(m - 1, med, sor, des);
}
}

int main()
{
int m;
char sor = 'A';
char med = 'B';
char des = 'C';
cout << "The number of dishes:";
cin >> m;    //建议取值小一点(10以下吧)
han(m, sor, med, des);
return 0;
}

输出结果(m 取 3):

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++