再规定的长度之内可以用数组去存储,但是不确定长度的情况下就需要去用字符串。
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main()
{
//把a,b两个数放入字符串里面,两字符串相加,先让他们的长度相同。
string a;
string b;
string sum;
cin >> a >> b;
if (a.length() > b.length())
{
string temp = a;
a = b;
b = temp;
}
int p = a.length() - b.length();
string s(p, '0');//构造函数实例化一个s,补齐b
b = s + b;//这样a,b一样长了
int q = 0;
for (int i = a.length()-1;i>=0;i--)
{
int temp = (a[i] - '0') + (b[i] - '0')+q;
if (temp > 9) //大于10,进的位暂时保存到一个变量里面,下一位相加减的时候再加进去
{
sum.push_back((temp - 10) + '0');
q = 1;
}
else
{
sum.push_back((temp + '0'));
q = 0;
}
}
if (q!=0)
sum.push_back(q + '0');
for (auto i =sum.length()-1; i >=0; i--)//倒序输出
{
cout << sum[i];
}
}