哪里错了

#include<iostream>
#include<cstdio>
#include<cstring>
int main(int a[10000],int b[10000],int c[10000])
{
int i,j,len;

scanf("%d%d",&a,&b);
//模拟手工运算,将a中的每位与b中的每位相乘
for(i=1;i<=a[0];i++){
for(j=1;j<=b[0];j++){
c[i+j-1]+=a[i]*b[j];//当前位的值
c[i+j]+=c[i+j-1]/10000;//进位值
c[i+j-1]%=10000;//调整当前位
}
}
len=a[0]+b[0]+1;//相乘后总位数是原位数之和
while(c[len]==0&&len>1)len--;//去掉最高位的0
c[0]=len;//存放实际位数
for(i=c[0]-1;i>=1;i--)
printf("%04d",c[i]);
}

3 条评论

  • @ 2016-10-06 19:34:26

    一万位乘一万位,位数最高是多少?
    你的答案开了多少位……

  • @ 2016-07-17 16:48:49

    hehe

  • @ 2016-07-17 09:57:00

    全都错了

  • 1

信息

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