//注意测试数据(其它就是有关大数的加法,由于这一题输入数据最大为100位,则不用考虑压缩)
Input
3
00
00
0
000
0
0
Output
0
0
0
代码:
//
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long int s[5005];
int n[110][5010];
int main()
{
int t;
int i,j,k;
cin>>t;
string str;
while(t--){
i=0;
memset(s,0,sizeof(s));
memset(n,0,sizeof(n));
while(1){
cin>>str;
int len=str.size();
if(str[0]=='0'&&len==1)
break;
for(j=len-1,k=0;j>=0;j--,k++){
n[i][k]=str[j]-48;
}
i++;
}
for(k=0;k<=5000;k++){
for(j=0;j<i;j++){
s[k]+=n[j][k];
}
if(s[k]>=10){
s[k+1]+=s[k]/10;
s[k]%=10;
}
}
j=5000;
while(j--){
if(s[j]!=0)
break;
}
if(j>=0){
for(;j>=0;j--)
printf("%d",s[j]);
cout<<endl;
}
else
cout<<0<<endl;
if(t>=1)
cout<<endl;
}
return 0;
}