大体方法:
1.输入两个大整数
2.倒序存放到两个整型数组中
3.模拟竖式乘法
4.去除前导0
5.倒序输出
#include<bits/stdc++.h>
using namespace std;
int a[2010],b[2010],c[4010];
int main()
{
string s1,s2;
cin>>s1>>s2;
int len1=s1.size();
int len2=s2.size();
int len=len1+len2;
for(int i=0;i<len1;i++) a[i]=s1[len1-i-1]-'0';
for(int i=0;i<len2;i++) b[i]=s2[len2-i-1]-'0';
//模拟竖式乘法
for(int i=0;i<len1;++i)
for(int j=0;j<len2;++j)
{
c[i+j]+=a[i]*b[j];
//相乘得到的结果加到c数组中
c[i+j+1]+=c[i+j]/10;
//处理进位和当前位的数字
c[i+j]%=10;
}
while(c[len-1]==0 && len>1) len--;
for(int i=len-1;i>=0;i--) cout<<c[i];
return 0;
}