#include <iostream>
#include <iostream>
#include <iomanip>
#include<string>
#include<cstring>
using namespace std; string A , B;
char a[];
char b[];
char result[]; int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
int T;
cin>>T;
for(int j=;j<=T;j++)
{
memset(a,'',sizeof(a));
memset(b,'',sizeof(a));
memset(result,'',sizeof(a));
cin>>A>>B;
int len1=A.size(),len2=B.size();
int m=len1,n=len2;
for(int i=;i<m;i++)
{
a[i]=A.at(len1-);
len1--;
}
for(int i=;i<n;i++)
{
b[i]=B.at(len2-);
len2--;
}
int k=max(m,n); int t=;//用于向前进位;
for(int i=;i<=k;i++){
if((a[i]-'')+(b[i]-'')+t>=) result[i]=(char)((a[i]-'')+(b[i]-'')+t-+''),t=;
else result[i]=(char)((a[i]-'')+(b[i]-'')+t+''),t=;
} cout<<"Case "<<j<<":"<<endl;
cout<<A<<" + "<<B<<" = ";
if(result[k]==''){
for(int i=k-;i>=;i--) cout<<result[i];
}
else{
for(int i=k;i>=;i--) cout<<result[i];
}
cout<<endl;
if(j!=T) cout<<endl; }
return ;
}
由于数字位数可达1000之多,即使long long也没法计算,那么只能用数组来进行存储,不断进位来解决问题。