1018: A+B again


タイトルの説明
谷先輩はとても簡単な質問をして、あなたに2つの整数AとBをあげて、あなたの任務はA+Bを計算することです.
入力
入力された最初の行には、試験例の個数を表す整数T(T<=20)が含まれ、次いで、AとBの2つの正の整数を表す2*T行が含まれる.整数が非常に大きいことに注意してください.それは32ビットの整数で処理できないことを意味します.整数の長さは1000を超えないと確信できます.
しゅつりょく
各サンプルについて、2行を出力する必要があります.1行目は「Case#:」、#はいくつかのサンプルを表し、2行目は等式「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< cout< add(); int k; for(k=1000;k>=0;k--){ if(a[k]!='0'){ break; } } for (int i=k;i>=0;i--){ cout< } cout< } return 0; }