注册 登录
编程论坛 C++教室

汉诺塔问题

qin888 发布于 2010-04-07 08:59, 536 次点击
汉诺塔问题
汉诺塔问题函数说明:
void Hanoi(int m,char A,char B,char C)意为
把A针上的m个盘子,借助C真移动到B针,请实现该函数(使用递归调用方法)。

请问我下面的程序错在哪,该怎么改!朋友们帮个忙!!!

#include<iostream>
using namespace std;
void main()
{
  void hanoi(int m,char A,char B,char C)
  {
  if(m==1)
      cout<<A<<"-"<<C<<endl;
  
  else
  {
   hanoi(int m-1,char A,C, B);
      cout<<A<<"-"<<C<<endl;
    hanoi(int m-1,char B,A, C);
  }
  }
}
2 回复
#2
yyblackyy2010-04-07 12:17
哪有把函数定义在函数内部的啊
把你的函数原型放到主函数的前面
void hanoi(int m,char A,char B,char C);        函数原型
void main()
{
    .....
}
void hanoi(int m,char A,char B,char C)            函数的实现        楼主再试试把
  {
  if(m==1)
      cout<<A<<"-"<<C<<endl;
  
  else
  {
   hanoi(int m-1,char A,C, B);
      cout<<A<<"-"<<C<<endl;
    hanoi(int m-1,char B,A, C);
  }
  }
#3
qin8882010-04-07 21:14
谢谢!!!
1