从基数8转换为基数10时的反向答案

时间:2014-01-15 08:05:31

标签: c++

我想创建一个将从base8(八进制)转换为base10(十进制)的应用程序。 我写了代码但是当我运行它时,数字的顺序是反转的。例如,如果正确的答案是:12345,那将是:54321

这是我的代码:

int r,n;
cout<<"enter any number: ";
cin>>n;

do{
  r=n%8;
  cout<<r;
  n=n/8;
} while(n>=1);

2 个答案:

答案 0 :(得分:0)

使用递归调用。

void printoct(int n)
{
    if (n < 1) return;
    printoct(n/8);
    cout << (n%8);
}

int n;
cout<<"enter any number: ";
cin>>n;
printoct(n);

答案 1 :(得分:0)

只需使用io操纵器,例如:

#include <iostream>
using namespace std;

int main() {
    int n;
    cout << "Enter any octal number: ";
    cin >> oct >> n;
    cout << "In decimal it's: " << dec << n;
    return 0;
}