前四个点非常好,全对,第五个点68位之后出问题了
#include<bits/stdc++.h>
using namespace std;
char a[501],b[501],c[502];
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
scanf("%s",&a);
scanf("%s",&b);
int lena=strlen(a);
int lenb=strlen(b);
if(lena!=lenb)
{
if(lena>lenb)
{
for(int i=0;i<lenb;i++)
{
b[lena-lenb+i]=b[i];
}
for(int i=0;i<lena-lenb;i++)
{
b[i]='0';
}
lenb=lena;
}
else
{
for(int i=0;i<lena;i++)
{
a[lenb-lena+i]=a[i];
}
for(int i=0;i<lenb-lena;i++)
{
a[i]='0';
}
lena=lenb;
}
}
int lenc=0,x=0;
while(lenc<lena || lenc<lenb)
{
int s=a[lena-lenc-1]-48+b[lenb-lenc-1]-48+x;
c[lenc]=s%10+48;
x=s/10;
lenc++;
}
if(x!=0)
cout<<x;
for(int i=lenc-1;i>=0;i--)
cout<<c[i];
return 0;
}
输入是 350204156568812004512541458715942878921069349854678 5120132301230048014584016540526804565814706519846494321001345794503242112976563432120 标准输出是 5120132301230048014584016540526804916018863088658498833542804510446121034045913286798 我的输出是 5120132301230048014584016540526804916018863088658498833542804510446077133392220313320 求助