题目描述:给出2个大整数A,B,计算A*B的结果
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string.h>
char s[1001],k[1001];
int a[1001],b[1001],c[1001],d[1001]={0};
int len1,len2;
using namespace std;
void multplication(int *a,int *b)
{
int lenl;
for(int i=0;i<len2;i++)
for(int j=0;j<len1;j++)
d[i+j]+=a[j]*b[i];
lenl=len1+len2;//运算结果的最大位数
for(int i=0;i<=lenl;i++)
{
d[i+1]+=d[i]/10;//进位运算
d[i]%=10;
}
while(lenl&&d[lenl]==0)
{
lenl--;//将运算结果第一个非零数前的零去掉
}
for(int i=lenl;i>=0;i--)
cout<<d[i];
}
int main()
{
gets(s);
gets(k);
len1=strlen(s);
len2=strlen(k);
for(int i=len1 -1,j=0;i>=0;i--)
{
a[j++]=s[i]-'0';//将大数字符数组转化为整数数组
}
for(int i=len2 -1,j=0;i>=0;i--)
{
b[j++]=k[i]-'0';//将大数字符数组转化为整数数组
}
multplication(a,b);//大数乘法运算
return 0;
}