• 大数相加:字符串加法
  • 补0使长度一致
  • 计算每位的和
#include<iostream>
#include<string>
using namespace std;

string add_str(string a,string b){
    string c;//保存加法结果
    int k=a.size()-b.size();//计算长度差,并补0使长度一致
    if(k>0){
        for(int i=0;i<k;i++){
            b="0"+b;
        }
    }
    else if(k<0){
        for(int i=0;i<-k;i++){
            a="0"+a;
        }
    }
    int jinwei=0;
    int cur;
    for(int i=a.size()-1;i>=0;i--){//最低位开始加
        cur=jinwei+a[i]-'0'+b[i]-'0';//和
        int x=cur%10;
        c.insert(0,1,x+'0');//每次把结果插入c的最前面
        jinwei=cur/10;//进位
    }
    if(jinwei!=0)c="1"+c;
    return c;
}

int main(){
    string a,b;
    while(cin>>a>>b){
        cout<<add_str(a,b)<<endl;
    }
    return 0;
    
}