ji1812062521
2015-12-14 08:00
采纳率: 78.3%
浏览 6.1k

C++,编写一个递归函数,将任意的十进制正整数转换为八进制数

编写一个递归函数,将任意的十进制正整数转换为八进制数,要求用C++语言,递归函数

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 凡沙-Fanrncho 2015-12-14 08:35
    已采纳

    #include
    #include
    using namespace std;

    void Function( int number, string& result )
    {
    int replace = number;
    int value = number % 8;
    char ch[ 10 ];
    sprintf( ch, "%d", value );
    result += ch;
    replace /= 8;
    if( replace <= 0 )
    {
    return ;
    }
    Function( replace, result );
    }

    void main()
    {
    int x = 10;
    string result;
    Function( 10, result );
    int index = result.size();
    stringstream sstream;
    while( index > 0 )
    {
    string ret;
    auto obj = result.substr( index - 1, 1 );
    index -= 1;
    sstream << obj;
    }
    string ret;
    sstream >> ret;
    cout << ret.c_str() << endl;
    system( "pause" );
    }

    评论
    解决 无用 1
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题