在C语言中,我们学过如何控制八进制,六进制格式化输出。
int x;
cin>>x;
printf("%d,%o,%x\n",x,x,x);
所以这个题目我们可以直接格式化输出,但是我们在学习数据结构的过程中,我们理解到真正的进制转化是取余后反转。
所以我们可以得到:
#include<bits/stdc++.h>
using namespace std;
vector<int> st;//用来存余数
int main(){
int n;
while(cin>>n){
//printf("%o\n",n);//格式化控制输出
st.clear();
while(n){
int nu = n % 8;
n /= 8;
st.push_back(nu);
}
reverse(st.begin(),st.end());
for(auto i=st.begin();i!=st.end();i++){
cout<<*i;
}
cout<<endl;
}
return 0;
}