水题。。
注意前导零的处理以及进位。
#include<stdio.h>
#include<string.h>
#define N 100005
void getsum(char a[],char b[])
{
int la,lb,i,ans=0,x,y,t;
la=strlen(a);
lb=strlen(b);
for(i=0;i<la;i++)
{
x=a[i]-'0';
y=b[i]-'0';
t=x+y+ans;
b[i]=t%10+'0';
ans=t/10;
}
for(;i<lb;i++)
{
y=b[i]-'0';
t=y+ans;
b[i]=t%10+'0';
ans=t/10;
}
for(i=0;i<lb;i++)if(b[i]!='0')break;
if(i==lb)printf("%d",ans);
else
{
for(;i<lb;i++)printf("%c",b[i]);
if(ans)printf("%d",ans);
}
printf("\n");
}
int main()
{
char a[N],b[N];
int i,t;
scanf("%d",&t);
while(t--)
{
scanf("%s%s",a,b);
if(strlen(a)<strlen(b))getsum(a,b);
else
getsum(b,a);
}
return 0;
}