#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
int N,aa,bb,cc,i,j,count=0;
char a[1002],b[1002],c[1003];
cin>>N;
while(N--)
{
cin>>a>>b;
count++;
cout<<"Case "<<count<<":"<<endl;
memset(c,'0',sizeof(c)); //初始化c字元數組使裡面的元素全是0,注意最後一個位置要加上'/0'
strrev(a); //字串反轉
strrev(b);
aa=strlen(a);
bb=strlen(b);
cc=(aa>=bb)?aa:bb;
for(i=0,j=0;i<aa;i++,j++)
{
c[j]=a[i];
}
for(i=0,j=0;i<bb;i++,j++)
{
c[j]+=b[i]-'0';
}
for(i=0;i<=cc;i++)
{
if(c[i]>=58)
{
c[i]=c[i]-10;
c[i+1]++;
}
}
if(c[cc]!='0')
c[cc+1]='/0';
else
c[cc]='/0';
strrev(a);
strrev(b);
strrev(c);
if(N!=0)
cout<<a<<" + "<<b<<" = "<<c<<endl<<endl;
else
cout<<a<<" + "<<b<<" = "<<c<<endl;
}
return 0;
}
說真的這個題目做了我好久,因為開始的時候做出來的效果看上去是正確的,在VC上啟動並執行結果和格式也完全滿足題目的要求,但是提交的時候確實“wrong answer”。這種提示的錯誤真叫人無語,再加上自己A的題目比較少,沒什麼經驗。至今都不知道那裡錯問題了。今天突然有想做這個題目了,由於前寫天在網上看到了字串反轉和初始化的庫函數,感覺做這個題目就簡單了。結果終於被Accept了。很爽,發上來給大家品評一下!這個程式個人還是蠻滿意的。
測試資料:
Sample Input
2
1 2
112233445566778899 998877665544332211
Sample OutputCase 1:
1 + 2 = 3
Case 2:
112233445566778899 + 998877665544332211 = 1111111111111111110