#include
#include
#include
int main()
{
int T;int i;char a[10000];char b[10000];char c[10010];
char *max_str;char d[10000];char e[10000];
int len1;int len2;int len_max;int len_min;int jw;//进位
int num;int times;
scanf("%d",&T);
for(times=0;times
{
jw=0;
fflush(stdin);
scanf("%s",a);
fflush(stdin);
scanf("%s",b);
fflush(stdin);
len1=strlen(a);
len2=strlen(b);
for(i=0;i
{
d[i]=a[len1-1-i];
}
for(i=0;i
{
e[i]=b[len2-1-i];
}
if(len1>len2)
{
len_max=len1;
len_min=len2;
max_str=d;
}else
{
len_max=len2;
len_min=len1;
max_str=e;
}
for(i=0;i<len_max;i++)
{
if(i<len_min)
{
c[i]=(d[i]-'0')+(e[i]-'0')+jw;
jw=c[i]/10;
c[i]=c[i] % 10;
if(jw!=0)
{
c[i+1]=jw;
}
}else
{
c[i]=*(max_str+i)+jw;
jw=c[i]/10;
c[i]=c[i] % 10;
}
num=len_max-1;
if(jw==1)
{
num=len_max;
}
}
//输出
printf("Case %d:\n",times+1);
for(i=0;i<len1;i++)
{
printf("%c",a[i]);
}
printf(" + ");
for(i=0;i<len2;i++)
{
printf("%c",b[i]);
}
printf(" = ");
for(i=num;i>=0;i--)
{
printf("%d",c[i]);
}
printf("\n");
if(times!=i-1)
printf("\n");
}
return 0;
}
//代了几个值感觉可以,不知道为什么OJ判断错误,大佬能看看吗?