···
//普通数组的高精度加法!
include[HTML_REMOVED]
using namespace std;
const int N = 1e3 + 10;
int u[N], v[N], f[N];
int main ()
{
string s1, s2;
cin >> s1 >> s2;
int n = s1.size();
int m = s2.size();
int mx = n>m ? n:m; // 比较谁的位数多一点!
// 将A数字中的每一位存储进 u数组中,根据后续 相加循环的遍历可知,这里是将低位(个位)放到前面
for (int i=0, j = n - 1; i < n; i ++, j --)
u[i] = s1[j] - '0'; // 字符数字转化为实际数字的公式!
//将数B的每一位转化成实际数字,然后存入数组中.
for (int i=0, j = m-1; i < m; i ++, j --)
v[i] = s2[j] - '0';
//相加遍历:
for (int i=0; i < mx; i ++)
{
f[i] += u[i] + v[i];
if (f[i] >= 10)
{
f[i + 1] ++;
f[i] %= 10;
}
}
for (int i=mx - 1; i > 0; i ++)
cout << f[i];
return 0;
}
···