读书人

c++ 采用递归进行多进制输出 这里递归

发布时间: 2013-03-01 18:33:02 作者: rapoo

c++ 采用递归进行多进制输出 这里递归原理请大神指教下


void displayInBase(int n,int base){
if(n > 0)
{
displayInBase(n/base,base);
cout<<n%base;
}
}

递归函数调用步骤怎样一个顺序,最后的终止条件为调用displayInBase(0,8)这里还能调用这个函数吗,这个完全不执行啊,怎么就能一步步的返回输出1%8,10%8,85%8呢,求解释 递归?多进制输出 递归,?多进制输出
[解决办法]
"最后的终止条件为调用displayInBase(0,8)"继续调用diaplayInBase函数,条件"if(n>0)"不满足,函数执行结束退出,返回调用函数,执行"cout<<n%base"。
[解决办法]
n > 0,才执行if呢
[解决办法]
#include <iostream>
using namespace std;

void displayInBase(int n,int base){
if(n > 0)
{
displayInBase(n/base,base);
cout<<n<<"%"<<base<<endl;
}
};

int main()
{
displayInBase(85, 8);
};
~

结果就是你需要的结果

读书人网 >C++

热点推荐