Editzed @ 2021-08-21 14:37:09
带零的输出多一个零
#include<bits/stdc++.h>
using namespace std;
char s1[10086],s2[10086];
int a[10086],b[10086],c[10086];
int main()
{
int la,lb,lc;
cin>>s1;
cin>>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=la+lb;
for(int i=1;i<=la;i++)
for(int j=1;j<=lb;j++)
{
c[i+j-1]+=a[i]*b[j];
c[i+j]+=c[i+j-1]/10;
c[i+j-1]%=10;
}
if(c[lc]==0&&lc>1) lc--;
for(int i=lc;i>=1;i--)
cout<<c[i];
return 0;
}
by Leonid @ 2021-08-21 14:59:17
应该是去前导零那部分出问题了