ji1812062521 2015-12-14 08:00 采纳率: 0%
浏览 6439
已采纳

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" );
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?