为什么会RE(Runtime Error)

我也不知道为什么会运行错误啊!各位牛哥救救我!!
代码如下;
```cpp
/*
* VIJOS-1040 高精度乘法
* mike-w
* 2012-10-21
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAXL 10000
#define BASE 10000
#define WIDTH 4

int a[MAXL], b[MAXL], c[MAXL];
char buf[MAXL];

int read(int s)
{
scanf("%s", buf);
int len=strlen(buf);
int w=1, sum=0, p=MAXL-1;
int i;
for(i=len-1; i>=0; i--)
{
sum+=w
(buf[i]-'0');
w*=10;
if(w==BASE)
{
s[p--]=sum;
sum=0;
w=1;
}
}
if(sum)
s[p--]=sum;
return 0;
}

int disp(int *s)
{
int i;
for(i=0; i<MAXL-1; i++)
if(s[i])
break;
printf("%d", s[i++]);
for(; i<MAXL; i++)
printf("%0*d", WIDTH, s[i]);
return 0;
}

int multi(int *s1, int *s2, int *ans)
{
int i, j, c;
for(i=1, c=0; i<=MAXL; i++)
for(j=1; j<=MAXL; j++)
{
ans[MAXL+1-i-j]+=s1[MAXL-i]*s2[MAXL-j]+c;
c=ans[MAXL+1-i-j]/BASE;
if(c)
ans[MAXL+1-i-j]%=BASE;
}
return 0;
}

int main(void)
{
read(a);
read(b);
multi(a, b, c);
disp(c);
putchar('\n');
return 0;
}
```

0 条评论

目前还没有评论...

信息

ID
1040
难度
7
分类
高精度 点击显示
标签
(无)
递交数
15529
已通过
2907
通过率
19%
被复制
1
上传者