#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LEN 200
int an1[MAX_LEN+10];
int an2[MAX_LEN+10];
char szLine1[MAX_LEN+10];
char szLine2[MAX_LEN+10];
int main()
{
scanf("%s", szLine1);
scanf("%s", szLine2);
int i, j;
//库函数memeset将地址an1开始的sizeof(an1)字节内容置成0
//sizeof(an1)的值就是an1的长度
memset( an1, 0, sizeof(an1));
memset( an2, 0, sizeof(an2));
//下面将szLine1中存储的字符串形式的整数转换到an1中去,
//an1[0]对应于个位
int nLen1 = strlen( szLine1);
j = 0;
for( i = nLen1 - 1;i >= 0 ; i --)
an1[j++] = szLine1[i] - '0';
int nLen2 = strlen(szLine2);
j = 0;
for( i = nLen2 - 1;i >= 0 ; i--)
an2[j++] = szLine2[i] - '0';
for( i = 0;i < MAX_LEN ; i ++ )
{
an1[i] += an2[i]; //逐位相加
if( an1[i] >= 10 ) //看是否要进位
{
an1[i] -= 10;
an1[i+1] ++; //进位
}
}
bool bStartOutput = false; //此变量用于跳过多余的0
for( i = MAX_LEN; i >= 0; i-- )
{
if( bStartOutput)
printf("%d", an1[i]); //如果多余的0已经都跳过,则输出
else if( an1[i] ) {
printf("%d", an1[i]);
bStartOutput = true; //碰到第一个非0的值,就说明多余的0已经都跳过
}
}
if(!bStartOutput) //结果为0特殊处理
printf("0");
system("pause");
return 0;
}
/******************************************
/* 杭电ACM1002:A + B Problem II
/* 2010/10/1
/* VC 6.0 by 52coder
/* persever2009@gmail.com
******************************************/
#include <iostream>
using namespace std;
string Sum_calc(string s1,string s2)
{
int length;
//比较s1,s2的长度
if (s1.length()>=s2.length())
{
length=s1.length();
string tmp(s1.length()-s2.length(),'0');
s2=tmp+s2;
}
else
{
length=s2.length();
string tmp(s2.length()-s1.length(),'0');
s1=tmp+s1;
}
string sum(length,'0');
//carry 进位标志位
int carry = 0;
for (int k=length-1;k!=-1;--k) //注意从低位开始进行运算
{
//字符'0'对应ASCII码为48
sum[k]=(s1[k]+s2[k]+carry-96)%10+48; //字符和数字的转换需要注意
carry=(s1[k]+s2[k]+carry-96>9);
}
//最高位进位后,进位处理
if (carry)
sum='1'+sum;
return sum;
}
void main()
{
int T; //The number of test cases;
cin>>T;
//use the dynamic array when not knowing the dimension before compiling;
string *A = new string[T];
string *B = new string[T];
string *Sum = new string[T];
for (int i=0; i!=T; ++i)
{
cin>>A[i]>>B[i];
Sum[i] = Sum_calc(A[i], B[i]);
}
for (int j=0; j!=T; ++j)
{
cout<<"Case "<<j+1<<":"<<endl<<A[j]<<" + "<<B[j]<<" = "<<Sum[j];
if(i!=T-1)
cout<<endl;
}