1018: A+B again

题目描述

谷学长有一个非常简单的问题给你,给你两个整数A和B,你的任务是计算A+B。

输入

输入的第一行包含一个整数T(T<=20)表示测试实例的个数,然后2*T行,分别表示A和B两个正整数。注意整数非常大,那意味着你不能用32位整数来处理。你可以确定的是整数的长度不超过1000。

输出

对于每一个样例,你应该输出两行,第一行是"Case #:",#表示第几个样例,第二行是一个等式"A+B=Sum",Sum表示A+B的结果。注意等式中有空格。

样例输入

2
1
2
112233445566778899
998877665544332211

样例输出

Case 1:
1 + 2 = 3
Case 2:

112233445566778899 + 998877665544332211 = 1111111111111111110

示例代码

#include #include using namespace std; char a[1001],b[1001]; void add(){ char c[1001]; memset(c,'0',1001); for(int i=0;i c[i]=a[strlen(a)-1-i]; } memset(a,'0',1001); for(int i=0;i a[i]=b[strlen(b)-1-i]; } for(int i=0;i<1000;i++){ a[i]+=c[i]-'0'; if(a[i]>'9'){ a[i]=a[i]-10; a[i+1]=a[i+1]+1; } } } int main(){ int T,n=0; cin>>T; while(T--){ n++; memset(a,'0',1001); memset(b,'0',1001); cin>>a>>b; cout<<"Case "< cout<

你可能感兴趣的:(c++编程)