qq_40993566
Mr.Quin
2017-12-03 02:43

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

  • c
  • printf

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

#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条回答