2017-04-19 48 views
1

我有兩個號碼999和2。我想將它們添加在十進制系統中,例如:C++如何在十進制系統中添加兩個數字?

999 
+2 
--- 
1001 

首先,我加入了2 9和我得到11所以我打印1和然後執行1。同樣得到10,打印0並執行下一個9並添加它們。這就像我們以前在學校級別做過的那樣。但是,現在我必須在C++中執行相同的操作。爲此,首先我分割999並存儲在一個數組中。之後,添加數組的最後一個元素2。如果總和大於或等於10,那麼我將爲數組中的下一個元素保留sum%10。問題是,我不知道如何將sum%10添加到下一個元素,並在其餘元素的同時繼續檢查它們是否大於或等於10。

回答

1

假設ab包含相反數字的數字。該代碼將添加ba,即a = a+b

int base = 10; 
int carry = 0; 
for (size_t i=0; i<max(a.size(),b.size()) || carry; ++i) { 
    if (i == a.size()) 
     a.push_back (0); 
    a[i] += carry + (i < b.size() ? b[i] : 0); 
    carry = a[i] >= base; 
    if (carry) a[i] -= base; 
} 
相關問題