C++如何在十进制系统中添加两个数字?

问题描述:

我有两个号码999和2。我想将它们添加在十进制系统中,例如:C++如何在十进制系统中添加两个数字?

999 
+2 
--- 
1001 

首先,我加入了2 9和我得到11所以我打印1和然后执行1。同样得到10,打印0并执行下一个9并添加它们。这就像我们以前在学校级别做过的那样。但是,现在我必须在C++中执行相同的操作。为此,首先我分割999并存储在一个数组中。之后,添加数组的最后一个元素2。如果总和大于或等于10,那么我将为数组中的下一个元素保留sum%10。问题是,我不知道如何将sum%10添加到下一个元素,并在其余元素的同时继续检查它们是否大于或等于10。

假设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; 
}