【问题描述】对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数
【输入形式】非负十进制整数
【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,提示错误,重新输入
【样例输入】5548
【样例输出】12654

//十进制到八进制的转换
#include<iostream>
#include<vector>
using namespace std;
int main()
{
	int i,t=0;
	cin>>i;
	vector<int>nums;
	if(i>0)
	{
		for(;i>0;i/=8)//每次都除8 
	    {
		    t=i%8;
		    nums.push_back(t);//压入余数 
	    }
	}
	else
	{
		cout<<"0";
	 } 
	for(int time=nums.size()-1;time>=0;--time)
	{
		cout<<nums[time];//输出除以8的余数 
	}
}

更多推荐

C++十进制到八进制的转换