C语言高精度乘法问题
#include"string.h"#include"stdio.h"#defineMAX200voidmain(){intl1,l2,a[MAX]={0},b[MAX]...
#include "string.h"
#include "stdio.h"
#define MAX 200
void main()
{ int l1,l2,a[MAX]={0},b[MAX]={0},c[MAX]={0} ,i,j;
char *s1,*s2;
gets(s1);gets(s2);
l1=strlen(s1);
l1=strlen(s2);
for(i=l1-1;i>=0;i--)a[l1-1-i]=s1[i]-48;
for(i=l2-1;i>=0;i--)a[l2-1-i]=s2[i]-48;
for(i=0;i<=l2;i++)
{for(j=0;j<=l1-1;j++)
c[i+j]+=b[i]*a[i]+c[i+j];
}
for(i=0;i<=l2;i++)
{c[i+1]+=c[i]/10;
c[i]%=10;
}
for(;i>=0;i--) printf("%d",c[i]);
}
那里出错了???? 展开
#include "stdio.h"
#define MAX 200
void main()
{ int l1,l2,a[MAX]={0},b[MAX]={0},c[MAX]={0} ,i,j;
char *s1,*s2;
gets(s1);gets(s2);
l1=strlen(s1);
l1=strlen(s2);
for(i=l1-1;i>=0;i--)a[l1-1-i]=s1[i]-48;
for(i=l2-1;i>=0;i--)a[l2-1-i]=s2[i]-48;
for(i=0;i<=l2;i++)
{for(j=0;j<=l1-1;j++)
c[i+j]+=b[i]*a[i]+c[i+j];
}
for(i=0;i<=l2;i++)
{c[i+1]+=c[i]/10;
c[i]%=10;
}
for(;i>=0;i--) printf("%d",c[i]);
}
那里出错了???? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询