高精度加法
//高精度加法
#include<bits/stdc++.h>
using namespace std;
char s1[505],s2[505];
int a[505],b[505],c[505];
int main(){
int la,lb,lc;
scanf("%s",&s1);
scanf("%s",&s2);
la = strlen(s1);
lb = strlen(s2);
for(int i=0;i<la;i++) a[la-i] = s1[i] - '0';
for(int i=0;i<lb;i++) b[lb-i] = s2[i] - '0';
lc = max(la,lb) + 1;//两个数字相加得到的数字位数最大只比原来两个数位数较大的数多一位
for(int i=1;i<=lc;i++){
c[i] += a[i]+b[i];//两个数相加最大就到18
c[i+1] = c[i]/10;
c[i] = c[i]%10;
}
/*当两个数相加得到的数没有进位,即最高位数字为0的时候,
那么我们就舍去这个0,该0也称为前导0*/
if(c[lc] == 0 && lc > 0) lc--;
for(int i=lc;i>0;i--) cout<<c[i];
return 0;
}