位数不一定相同且有进位的高精度数加法用c++解决(适合新手)
#include <bits/stdc++.h>
using namespace std;
int main() {
string a1, b1;
cin >> a1 >> b1;
int a2[10000] = {}, b2[10000] = {}, sum[10000] = {};
int alen = a1.length();
int blen = b1.length();
for (int i = 0; i < alen; i++) {
a2[alen - 1 - i] = a1[i] - '0';
}
for (int i = 0; i < blen; i++) {
b2[blen - 1 - i] = b1[i] - '0';
}
int maxlen = max(alen, blen);
int t = 0;
for (int i = 0; i < maxlen; i++) {
sum[i] = a2[i] + b2[i] + t;
t = sum[i] / 10;
sum[i] %= 10;
}
if (t > 0) {
sum[maxlen] = t;
maxlen += 1;
}
for (int i = maxlen - 1; i >= 0; i--) {
cout << sum[i];
}
return 0;
}