方法一:利用递归,如123,f(123)——f(15)——f(1)
void f(int n)
{
if(n==0)
return;
else if(n)
{
f(n/8);
//余数
cout<<(n%8);
}
}
方法二:利用栈,依次压入3、7、1,先进后出,输出173
void f(int n)
{
stack<int>s;
while(n)
{
s.push(n%8);
n/=8;
}
while(!s.empty())
{
cout<<s.top();
s.pop();
}
}
本文介绍两种将十进制整数转换为八进制字符串的方法:一种使用递归函数,另一种借助栈来实现。递归方法通过不断除以8并输出余数的方式进行转换;而栈方法则是将每次除以8的余数压入栈中,最后依次弹出得到八进制数。
1153

被折叠的 条评论
为什么被折叠?



