#include <bits/stdc++.h>
using namespace std;
string a,s;
int d[501],f[501],ad[501],af[501],lena,lens,ans[501],aans[501],x=0,y=1;
int main()
{
cin>>a>>s;
lena=a.length();
lens=s.length();
for(int i=0;i<lena;i++)d[i]+=a[i]-'0';
for(int i=0;i<lens;i++)f[i]+=s[i]-'0';
for(int i=0;i<lena;i++)ad[i]=d[lena-i-1];
for(int i=0;i<lens;i++)af[i]=f[lens-i-1];
for(int i=0;i<max(lena,lens);i++)
{
ans[i]=(ad[i]+af[i])%10+x;
x=(ad[i]+af[i])/10;
if(ad[i]+af[i]>=10)ans[i+1]=1;
}
for(int i=0;i<max(lena,lens)+1;i++)aans[i]=ans[max(lena,lens)-i];
if(aans[0]==0)for(int i=1;i<max(lena,lens)+1;i++)cout<<aans[i];
else for(int i=0;i<max(lena,lens)+1;i++)cout<<aans[i];
}
数据一大就错了,但是9+9,11+9都对,看了答案后感觉是进位问题。 谢谢!