#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void mul(char *a,char *b,char *c)
{
int i;
int j;
int ca;
int cb;
int *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;j++,i++)
{
c[j]=s[i]+'0';
//printf("%c",c[j]);
}
c[j]='\0';
free(s);
}
int main()
{
char str1[]="123";
char str2[]="1130";
char str3[100];
memset(str3,0,sizeof(str3));
mul(str1,str2,str3);
int i;
for(i=0;i<strlen(str2)+strlen(str1);i++)
printf("%c",str3[i]);
return 0;
}
大数据:mul
最新推荐文章于 2022-09-16 14:39:00 发布