换一种写法:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int MAXN = 1010;
void Big_Number_Add(char* a, char* b)
{
char c[MAXN];
int i;
while(*a == '0')
a++;
while(*b == '0')
b++;
int len1 = strlen( a );
int len2 = strlen( b );
memset(c, 0, sizeof(c));
for (i = 0; i < len1 || i < len2; ++i)
{
if(i < len1)
c[i] += a[len1 - 1 - i] - '0';
if(i < len2)
c[i] += b[len2 - i - 1] - '0';
if(c[i] >= 10)
{
c[i+1] = c[i] / 10;
c[i] %= 10;
}
}
len1 = len1 > len2 ? len1 : len2;
if(c[len1] > 0)
printf("%d", c[len1]);
for (i = len1 - 1; i >= 0; --i)
printf("%d", c[i]);
}
int main()
{
int kcase = 1;
int T;
char str1[MAXN], str2[MAXN];
cin>>T;
while (T--)
{
memset(str1, 0, sizeof(str1));
memset(str2, 0, sizeof(str2));
cin>>str1>>str2;
cout<<"Case "<<kcase++<<":"<<endl;
cout<<str1<<" + "<<str2<<" = ";
Big_Number_Add(str1, str2);
cout<<endl;
if(T!=0)
cout<<endl;
}
return 0;
}