简单的题目糅合在一起。请分别调用jia jian cheng chu
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
const int MAX_N = 25002;
const int INF = 10;
char a[MAX_N],b[MAX_N];
int c[MAX_N],d[MAX_N],f[MAX_N];
int lengtha,lengthb;
int jia()
{
int i;
for (i=1;i<=max(lengtha,lengthb);i++)
f[i]+=c[i]+d[i],f[i+1]+=f[i]/INF,f[i]%=INF;
}
bool bigger()
{
if (lengtha>lengthb) return true;
if (lengtha<lengthb) return false;
int i;
for (i=lengtha;i>=1;i--)
{
if (c[i]>d[i]) return true;
if (c[i]<d[i]) return false;
}
return true;
}
int jian()
{
int i;
if (bigger())
for (i=1;i<=max(lengtha,lengthb);i++)
{
f[i]+=c[i]-d[i];
if (f[i]<0) f[i]+=10,f[i+1]--;
}
else
{
printf("-");
for (i=1;i<=max(lengtha,lengthb);i++)
{
f[i]+=d[i]-c[i];
if (f[i]<0) f[i]+=10,f[i+1]--;
}
}
}
int cheng()
{
int i,j;
for (i=1;i<=lengtha;i++)
for (j=1;j<=lengthb;j++)
f[i+j-1]+=c[i]*d[j],f[i+j]+=f[i+j-1]/INF,f[i+j-1]%=INF;
}
int main()
{
int i;
cin>>a>>b;
lengtha=strlen(a);
lengthb=strlen(b);
for (i=0;i<lengtha;i++)
c[lengtha-i]=a[i]-'0';
for (i=0;i<lengthb;i++)
d[lengthb-i]=b[i]-'0';
cheng();
i=MAX_N-1;
while (!f[i]) i--;
if (i<=0) printf("0");
for (;i>=1;i--)
printf("%d",f[i]);
return 0;
}