#include<iostream>
#include<string>
using namespace std;
string add(string a,string b)//用字符串的方式处理大数字的加法
{
int la=a.length();
int lb=b.length();
if(la<lb)
{
for(int i=1;i<=lb-la;i++)
a="0"+a;
}
else
{
for(int i=1;i<=la-lb;i++)
b="0"+b;
}
la=a.length(); //首先要保证两个大数字的位数相同,不够的话补0
int x,y,sum,flag=0;
string str;
for(int i=la-1;i>=0;i--) //从末尾开始算起
{
x=a[i]-'0';
y=b[i]-'0';
sum=x+y+flag;
flag=sum/10; //进位位直接除以10 得到0或者1
sum=sum%10; //剩下的值要
str=char(sum+'0')+str;
}
if(flag==1) //最后若要进一位,用字符串相加即可
str="1"+str;
return str;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
string sum="0";
string s1;
while(cin>>s1)
{
if(s1=="0")
break;
sum=add(sum,s1);
}
cout<<sum<<endl;
if(T>0)
cout<<endl;
}
return 0;
}
注意str+“0”是在str后边补0 但是“0”+str是在str的前面补0!!!!