佩亚诺余项. 2022-09-15 16:08 采纳率: 66.7%
浏览 22
已结题

C++编程,汉洛塔,这种应该怎么改呀

这种应该怎么改呀

img

#include<iostream>
using namespace std;
int main(){
    int n=0,b;
    int ceng();
    cout<<"输入层数:"; 
    cin>>n;
    b=ceng(n);
    cout<<"完成"<<n<<" 层汉洛塔需要"<<b<<"步"; 
}
int ceng(int n){
    if(n==1)
        return 1;
    else
        return 2*ceng(n-1)+1;    
    
}

  • 写回答

1条回答 默认 最新

  • 梦里逆天 2022-09-15 18:30
    关注

    在前面声明函数:int ceng(int n);,或者把ceng函数移到int main()前面。

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int ceng(int n);
        int n=0,b;
        int ceng();
        cout<<"输入层数:"; 
        cin>>n;
        b=ceng(n);
        cout<<"完成"<<n<<" 层汉洛塔需要"<<b<<"步"; 
    }
    int ceng(int n){
        if(n==1)
            return 1;
        else
            return 2*ceng(n-1)+1;    
        
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 已采纳回答 9月15日
  • 创建了问题 9月15日