题目链接:点击打开链接
一道简单的大数加法题,采用数组存储,并进行加法模拟即可。
怎奈功底太浅,连续错了二次,索性推倒重来,最后胡乱给一个ac的代码。惭愧惭愧。
#include <iostream>
#include <string>
#include<string.h>
using namespace std;
int main()
{
int K,k,i,l1,l2,l,up;
int a[1002],b[1002];
string S;
cin>>K;
for(k=1;k<=K;k++)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cout<<"Case "<<k<<":"<<endl;
cin>>S;
cout<<S<<" + ";
l1=S.length();
for(i=0;i<l1;i++)
a[l1-i]=S[i]-'0';
cin>>S;
cout<<S<<" = ";
l2=S.length();
for(i=0;i<l2;i++)
b[l2-i]=S[i]-'0';
l=l1>l2?l1:l2;
up=0;
for(i=1;i<=l;i++)
{
a[i]=a[i]+b[i]+up;
up=a[i]/10;
a[i]=a[i]%10;
if(i==l&&up>0)
l++;
}
for(i=l;i>0;i--)
cout<<a[i];
cout<<endl;
}
}