Posted on 2008-08-14 09:39
岁月流逝 阅读(1880)
评论(2) 编辑 收藏 引用
#include <iostream>
using namespace std;
int main()
{
char charA[1000],charB[1000];//用于存放两个整数
int sum[1001];//存放两个整数的和
memset(sum,0,sizeof(sum));//给sum[]赋值
int n,i=1;
cin>>n;
while(n--)
{cin>>charA>>charB;
int sumIndex=0;
int index=0;
//把charA的值赋到sum里
for (index=strlen(charA)-1,sumIndex=1000;index>=0;--index,--sumIndex)
{
sum[sumIndex]+=charA[index]-'0';
}
//把charB的值赋到sum里
for (index=strlen(charB)-1,sumIndex=1000;index>=0;--index,--sumIndex)
{
sum[sumIndex]+=charB[index]-'0';
}
//如果sum元素的值大于9,则进位
for (sumIndex=1000;sumIndex>=0;--sumIndex)
{
if (sum[sumIndex]>9)
{
sum[sumIndex-1]+=sum[sumIndex]/10;
sum[sumIndex]%=10;
}
}
//查找结果放在第几位
for (sumIndex=0;sumIndex<=1000;++sumIndex)
{
if (sum[sumIndex]!=0)
{
break;
}
}
//如果结果为0,则输出最后一位021
if (sumIndex==1001)
{
sumIndex=1000;
}
cout<<"Case "<<i++<<":"<<endl;
cout<<charA<<" + "<<charB<<" = ";
for (;sumIndex<=1000;++sumIndex)
{
cout<<sum[sumIndex];
}
cout<<endl;
}
return 0;
}