o8le

大整数加法——最简单的

#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;

}


分类:

技术点:

相关文章: