永发信息网

C++递归 汉诺塔

答案:2  悬赏:80  手机版
解决时间 2021-07-29 07:31
  • 提问者网友:萌卜娃娃
  • 2021-07-29 00:15

#include<iostream>
using namespace std;
int sum=0;
void hanoi(char a,char b,char c,int n)
{
if(n==1)
{
cout<<a<<"->"<<c<<endl;
}
else
{
hanoi(a,c,b,n-1);
cout<<a<<"->"<<c<<endl;
hanoi(b,a,c,n-1);
}
}
int main()
{
int n;
cout<<"输入碟子数:";
cin>>n;
hanoi('A','B','C',n);
cout<<sum+1<<endl;

}

hanoi(a,c,b,n-1);
cout<<a<<"->"<<c<<endl;
hanoi(b,a,c,n-1);
什么意思呢??a,c,b,n-1 b,a,c,n-1

void hanoi(char a,char b,char c,int n) 这个是不是定义返回值char a,char b,char c,int n 的函数?

最佳答案
  • 五星知识达人网友:独钓一江月
  • 2021-07-29 00:32

a,b,c相当于三个柱子 n相当于盘子数目


void hanoi(char a,char b,char c,int n)是一个递归函数。void是返回值,表示返回值是null,也就是什么也不返回。char a,b,c int n是参数。

全部回答
  • 1楼网友:像个废品
  • 2021-07-29 00:47
char a,char b,char c,int n是传进去的 不是返回的 这个函数没返回值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯