数制转换 递归实现

//数制转化 递归实现

#include <iostream.h> 
int conservation[100]; //保存结果的数组
int number;           //数组中保存结果实际的位数



int change(int base,int jinzhi)
{
    //数制转换程序
	//base为基数,jinzhi为想要转化的进制
	int a;
	int b;
	a=base%jinzhi;         //求模,作为转换后的结果
	b=base/jinzhi;          //求余,做进一步的计算
	conservation[number++]=a;
	if(b!=0)   return change(b,jinzhi);
	else return 0;
}


int main()
{
	int base,jinzhi;
	cout<<"input base and jinzhi:";
	cin>>base>>jinzhi;
	number=0;
	change(base,jinzhi);         //数制转换程序
	for(int i=number-1;i>=0;i--)    //从数组里面逆序输出
		cout<<conservation[i]<<" ";
	return 0;
}

你可能感兴趣的:(数制转换 递归实现)