2014-01-15 66 views
-4

我想製作一個將從base8(八進制)轉換爲base10(十進制)的應用程序。 我寫了代碼,但是當我運行它時,數字的順序是反轉的。例如,如果正確的答案應該是:12345這將是:54321從base8轉換爲base10時的反向答案

這裏是我的代碼:

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

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

使用字符的載體(即'的std ::矢量') - 或也許是一個字符串('的std :: string')至存儲[部分]數字,並以相反的順序顯示它們。 –

回答

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); 
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; 
}