这是一道典型的高精题,如果高精模板不会,那就废了!废话不多说,附上代码:
#include<bits/stdc++.h>
using namespace std;
string s1, s2; //定义两个string类型的a,b。
int a[202], b[202], c[202], jw, la, lb;
int main() {
cin >> s1 >> s2;
la = s1.size();
lb = s2.size();
for (int i = 1; i <= la; i++) {
a[i] = s1[la - i] - 48; //转换成数字。
}
for (int i = 1; i <= lb; i++) {
b[i] = s2[lb - i] - 48; //转换成数字。
}
int lc=1;
while(lc<=la||lc<=lb){
c[lc]=(a[lc]+b[lc]+jw)%10; //加法
jw=(a[lc]+b[lc]+jw)/10; //进位
lc++;
}
c[lc]=jw;
while(lc>1&&c[lc]==0) lc--; //去0
for(int i=lc;i>=1;i--){
cout<<c[i]; //输出
}
return 0;
}