#include
#include
using namespace std;
int main()
{
int p;
char ca[1000],cb[1000];
int ia[1001],ib[1001],cs[1001];
int i;
int n,m,t;
int k,l;
int x=1;
cin>>p;
while (p--)
{
cin>>ca;
cin>>cb;
n=strlen(ca);
m=strlen(cb);
//将字符数组值反向存入整形数组
for (i=0;i
ia[n-i-1]=ca[i]-48;
for (i=0;i
ib[m-i-1]=cb[i]-48;
//将两数组用0填充使其位数相等
if (n>=m)
{
ia[n]=0;
for (i=m;i<=n;i++)
ib[i]=0;
}
else
{
ib[m]=0;
for (i=n;i<=m;i++)
ia[i]=0;
}
t=n>=m?n:m; //求数组中个数较多的一个
l=0;
//计算求和
for (i=0;i
{
k=ia[i]+ib[i];
cs[i]=(k+l);
l=(k+l)/10;
}
cout
for (i=n-1;i>=0;i--)
cout<
cout
for (i=m-1;i>=0;i--)
cout<
cout
for (i=t;i>=0;i--)
{
if (i==t&&cs[i]==0) //如果和首位为零,不输出
continue;
cout<<cs[i];
}
if (p==0)
cout<<endl;
else
cout<<endl<<endl;
x++;
}
return 0;
}