想必大家都玩过汉诺塔,就这个小小的游戏映射了人生的很多哲理。开始很简单,随着盘子的增多,难度也越来越高。但汉诺是规律的,有了这个小程序,可以计算出汉诺的步骤。
如题:
#include <iostream.h>
void hanno(char a,char b,char c,int n);//声明调用自定义函数hanno。
char a='a',b='b',c='c';//定义字符型变量,三个砥柱为a,b,c。
void main()
{
int n;
cout<<"游戏步骤:"<<endl;
cin>>n;
hanno(a,b,c,n);//调用自定义函数hanno。
}
void hanno(char a,char b,char c,int n)//形参中必须加入返回值
{
if(n==1)//条件语句,n等于1.
cout<<a<<"-->"<<c<<endl;
else
{
hanno(a,c,b,n-1);//自己调用自己
cout<<a<<"-->"<<c<<endl;
hanno(b,a,c,n-1);
}
}
输入游戏中的盘子数,就可以得出游戏步骤,自己体验一下~~~