C语言大数
发布时间:2020-12-14 03:40:52 所属栏目:大数据 来源:网络整理
导读://? 输入 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]; ????? } ????? ?????? fo
//? 输入 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]=
' '
;
????
free
(s);
}
??
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |