c++实现两个十位数相加
时间: 2024-09-25 20:09:29 浏览: 40
在C++中,你可以通过定义一个类或者函数来实现两个十位数的相加。这里提供一个简单的例子,我们将创建一个类`BigNumber`来存储和操作大整数,并实现一个`add`方法来进行相加:
```cpp
#include <iostream>
#include <string>
class BigNumber {
private:
std::string digits;
public:
// 构造函数,接受一个字符串作为输入
BigNumber(const std::string &num) : digits(num) {}
// 将当前数字与另一个数字相加
BigNumber add(const BigNumber &other) {
int carry = 0;
std::string result = "";
for (int i = digits.size() - 1; i >= 0; --i) {
int sum = static_cast<int>(digits[i] - '0') + static_cast<int>(other.digits[i] - '0') + carry;
result = char(sum % 10 + '0') + result;
carry = sum / 10;
}
if (carry > 0) {
result = char(carry + '0') + result;
}
return BigNumber(result);
}
// 打印数字
void display() const {
std::cout << digits << "\n";
}
};
// 示例使用
int main() {
BigNumber num1("12345");
BigNumber num2("67890");
BigNumber sum = num1.add(num2);
sum.display();
return 0;
}
```
在这个示例中,我们首先定义了一个`BigNumber`类,它有一个私有成员变量`digits`用于存储数值,以及构造函数、添加方法和显示方法。`add`方法逐位相加,并处理进位。
当你运行这个程序,它会计算并打印出两个十位数(这里是12345和67890)的和。
阅读全文