高精度加法:
(4个累加,注释内为模板)
int main(){
int t;
char a[500],b[500];
int c[500];
scanf("%d",&t);
while(t--){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
scanf("%s",a);
for(int ii=0;ii<3;ii++){
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
scanf("%s",b);
/*int i=0,j=0,k=0,r=0;
int lena,lenb;
lena = strlen(a);
lenb = strlen(b);
for(i=lena-1,j=lenb-1;i>=0&&j>=0;i--,j--){
int p=(a[i]-'0')+(b[j]-'0')+r;
r=p/10;//进位
c[k++]=p%10;//余数加到数组中
}
while(i>=0){ //如果b中的数加完了
int p=(a[i]-'0')+r;
r=p/10;
c[k++]=p%10;
i--;
}
while(j>=0){ //如果a中的数加完了
int p=(b[j]-'0')+r;
r=p/10;
c[k++]=p%10;
j--;
}
if(r) //判断最高位有没有进位
c[k++]=r;
for(int i=k-1;i>=0;i--)// 倒着输出结果
printf("%d",c[i]);
*/
int jj=0;
for(int kk=k-1;kk>=0;kk--,jj++)
a[jj]=c[kk]+'0';
//cout<<a<<endl;
}
cout<<a<<endl;
int len=strlen(a);
}
return 0;
}