原題:
|
#include<iostream>
#include<string>
using namespace std;

int main()

{
string a,b;
char *c = NULL;
long a_len = 0,b_len = 0,c_len=0,min_len;
int one_bit = 0;
bool flag = false;
while(cin>>a>>b)
{
if (a[0]!='-'&&b[0]!='-')
{
a_len = a.length();
b_len = b.length();
c_len = (a_len>b_len?a_len:b_len)+1;
min_len = a_len<b_len?a_len:b_len;
c = new char[c_len+1];
c[c_len] = '\0';
c[0] = 'A';
while(min_len>0)
{
one_bit=int(a[a_len-1])+int(b[b_len-1])-96;
if(flag)
one_bit++;
if(one_bit>9)
{
one_bit -= 10;
flag = true;
}
else
flag = false;
c[c_len-1] = char(one_bit+48);
one_bit = 0;
c_len--;
min_len--;
a_len--;
b_len--;
}
if(a_len==0)
{
while(b_len>0)
{
one_bit=int(b[b_len-1])-48;
if(flag)
one_bit++;
if(one_bit>9)
{
one_bit -= 10;
flag = true;
}
else
flag = false;
c[c_len-1] = char(one_bit+48);
one_bit = 0;
c_len--;
b_len--;
}
}
if(b_len==0)
{
while(a_len>0)
{
one_bit=int(a[a_len-1])-48;
if(flag)
one_bit++;
if(one_bit>9)
{
one_bit -= 10;
flag = true;
}
else
flag = false;
c[c_len-1] = char(one_bit+48);
one_bit = 0;
c_len--;
a_len--;
}
}
if(flag)
c[0] = '1';
}
if (flag)
cout<<c<<endl;
else
cout<<++c<<endl;
flag = false;
c = NULL;
}

return 0;
}這是當時提交的源程序,本以為要考慮負數(shù)的,原來不用......


