【C++十进制转换成八进制】运用递归解决吧!

题目描述

用递归算法,把任一给定的十进制正整数转换成八进制数输出。

输入

输入一个正整数,表示需要转换的十进制数。

输出

输出一个正整数,表示转换之后的八进制的数。

样例输入

15

样例输出

17
#include<bits/stdc++.h>
using namespace std;
int l=0,ans[500]= {0};//初始化放外面,我放在函数里面就每次递归都重新清了一遍0。。。QAQ 
void change(int x)
{
	if(x<8)
	{
		ans[l++]=x;
		for(int i=l-1; i>=0; i--)
		{
			cout<<ans[i];
		}
		return;
	}
	else
	{
		ans[l++]=x%8;
	}
	change(x/=8);
}
int main()
{
	int num;
	cin>>num;
	change(num);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/JaneSilver/article/details/81448137