求助,80分,测试时输出有误
错误测试样例:
12310000000000000000
10000
#include<bits/stdc++.h>
using namespace std;
int main() {
string a,b,sum;
cin>>a>>b;
int la=a.size(),lb=b.size();
for(int i=0; i<la/2; i++)swap(a[i],a[la-i-1]);
for(int i=0; i<lb/2; i++)swap(b[i],b[lb-i-1]);
int k=0;
for(int i=0; i<min(la,lb); i++) {
int c=(a[i]-'0')+(b[i]-'0')+k;
if(k==1)k=0;
if(c>=10) {
k=1;
c-=10;
}
sum[i]=c+'0';
}
for(int i=min(la,lb); i<max(la,lb); i++) {
if(k==1) {
k=0;
sum[i]=max(a[i],b[i])+1;
if(sum[i]>'9') {
sum[i]-=10;
k=1;
}
} else sum[i]=max(a[i],b[i]);
}
if(k==1)cout<<1;
for(int i=max(la,lb)-1; i>=0; i--)cout<<sum[i];
return 0;
}