/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2013年 11月19 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 盘子个数
*问题描述:
*程序输出:移动步骤
*问题分析:
*算法设计:
*/
我的程序:
#include<iostream>
using namespace std;
void move(int,char,char,char);
void yidong(char,char);
int main()
{
int i;
cout<<"请输入盘子个数:"<<endl;
cin>>i;
cout<<"移动步骤为:"<<endl;
move(i,'A','B','C');
return 0;
}
void move(int n,char A,char B,char C)
{
if(n==1)
yidong(A,C);
else
{
move(n-1,A,C,B);
yidong(A,C);
move(n-1,B,A,C);
}
}
void yidong(char x,char y)
{
cout<<x<<"-->"<<y<<endl;
}
运行结果:
心得体会:看书上解答做的,看完书后明白,但自己写不出来。。。