编写一个递归函数,将任意的十进制正整数转换为八进制数,要求用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无用 2