第一个输出结果是00,可代码最后的if不是应该去掉一个0了吗,最后一个是超时
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int a[1000],b[1000],c[1000];
char m[1000],n[1000];
int main(){
cin>>m>>n;
int L1=strlen(m);
int L2=strlen(n);
for(int i=0;i<L1;i++){
a[L1-i]=m[i] - '0';
}
for(int i=0;i<L2;i++){
b[L2-i]=n[i] - '0';
}
int k=L1+L2;
for(int i=1;i<=L1;i++){
for(int j=1;j<=L2;j++){
c[i+j-1]+=a[i]*b[j];
c[i+j]+=c[i+j-1]/10;
c[i+j-1]%=10;
}
}
if(c[k]==0 && k >0)k--;
for(int i=k;i>0;i--){
cout<<c[i];
}
return 0;
}