回 帖 发 新 帖 刷新版面

主题:汉诺塔的问题 想完善下 路过的大神看看 帮帮忙

#include<iostream>
using namespace std;

void move(char input,char output);
void hanoi(int n,char one,char two,char three);

void main()
{
 int m;
 cout<<"enter the number of diskes :";
 cin>>m;
 cout<<"the steps to moving "<<m<<"diskes is"<<endl;
 hanoi(m,'a','b','c');
}
void move(char input,char output)
{
  cout<<input<<"-->"<<output<<endl;
}
void hanoi(int n,char one,char two,char three)
{
  if(n==1)
   move(one,three);
  else
  {
    hanoi(n-1,one,three,two);
 move(one,three);
 hanoi(n-1,two,one,three);
  }
}

 

我想在输出结果的步骤前再加上序列号 (例如:1:a-b  2:c-a ....)总没成功 求大神看看 花您点时间 解决下 谢谢~

回复列表 (共3个回复)

沙发

加个全局变量做序号吧

板凳

[quote]加个全局变量做序号吧[/quote]
这个还没学到 只是预习到点 理解不深
想想 变量加到hnoi函数里 感觉不行 他递归性 肯定要变很多次了~
这儿太迷糊 具体如何加?
大神指点下

3 楼

[quote]加个全局变量做序号吧[/quote]
额 知道怎么做了 谢谢了大哥~真心感谢你的指点

我来回复

您尚未登录,请登录后再回复。点此登录或注册