大整数加法——最简单的
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
#define maxlen 200
int a[maxlen];
int b[maxlen];
int bigger(int a, int b)
{
return a>b?a:b;
}
int main()
{
string s1, s2;
while(cin>>s1>>s2)
{
int len1 = s1.length();
int len2 = s2.length();
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
for(int i=len1-1, j=0; i>=0; i--)
a[j++] = s1[i]-\'0\';
for(int i=len2-1, j=0; i>=0; i--)
b[j++] = s2[i]-\'0\';
int big = bigger(len1, len2);
for(int i=0; i<=big; i++)
{
a[i]+=b[i];
if(a[i]>=10)
{
a[i] -= 10;
a[i+1]++;
}
}
bool flag = false;
for(int i=big; i>=0; i--) //除去多余的0
{
if(flag)
cout<<a[i];
else if(a[i])
{
cout<<a[i];
flag = true;
}
}
cout<<endl;
}
return 0;
}