Mr.Quin 2017-12-03 02:43 采纳率: 0%
浏览 637

请问大神我的这个高精度计算错在了哪里

验证了好几个数好像都是对的,实在找不到错在了哪里

#include
#include
#define N 1000
int main(){
int a[N]={0};
int b[N]={0};
char c[N]={0};
int d[N]={0};
int i;
int k=0;
int A, B, max;
int n, j;
int t;
scanf("%d", &n);
for (j=0; j scanf("%s", c);
A=strlen(c);
for (i=0; i a[i]=c[A-i-1]-'0';
}
scanf("%s", c);
B=strlen(c);
for (i=0; i b[i]=c[B-1-i]-'0';
}
max=(A>B)?A:B;
for (i=0, k=0; i<max; i++){
t=a[i]+b[i]+k;
d[i]=t%10;
k=t/10;
}
if (k!=0)
d[max++]=k;
for (i=0; i<max; i++){
printf("%d", d[max-i-1]);
}
printf("\n");
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • zengtianyu12 2017-12-03 02:50
    关注

    初始化有问题吧,这样并不能全部初始化为0的

    评论

报告相同问题?