// 输入 char a[MAX_LEN] 和 char b[MAX_LEB], 相加得出char pcRet[MAX_LEN +1 ]
void Add(char * pcA, char *pcB, char *pcRet)
{
int i = 0;
for (i = 0; i < MAX_LEN; i++)
{
c[i] = a[i] + b[i];
}
for (i = 0; i < MAX_LEN; i++)
{
if (c[i] >= 10)
{
c[i+1] = c[i]/10;
c[i] = c[i]%10;
}
}
}
void
multiply(
char
* a,
char
* b,
char
* c)
{
int
i,j,ca,cb,* s;
ca=
strlen
(a);
cb=
strlen
(b);
s=(
int
*)
malloc
(
sizeof
(
int
)*(ca+cb));
for
(i=0;i<ca+cb;i++)
s[i]=0;
for
(i=0;i<ca;i++)
for
(j=0;j<cb;j++)
s[i+j+1]+=(a[i]-
'0'
)*(b[j]-
'0'
);
for
(i=ca+cb-1;i>=0;i--)
if
(s[i]>=10)
{
s[i-1]+=s[i]/10;
s[i]%=10;
}
i=0;
while
(s[i]==0)
i++;
for
(j=0;i<ca+cb;i++,j++)
c[j]=s[i]+
'0'
;
c[j]=
'\0'
;
free
(s);
}