原题:

Calculate a + b
 
Input

The input will consist of a series of pairs of integers a and b,
separated by a space, one pair of integers per line. 

Output

For each pair of input integers a and b you should output the sum
 of a and b in one line,and with one line of utput for each line in input.

Sample Input
1 5

Sample Output
6

Hint
Use + operator

#include<iostream>
#include
<string>
using namespace std;


int main()
{
    
string a,b;
    
char *= 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;
}

这是当时提交的源程序,本以为要考虑负数的,原来不用......