自己写了写后来还是看了看其他人的解,写了一份出来 思路就是数组提取出来 记得要进位

#include<iostream>
#include<string>
using namespace std;
int i,a,b,m;
int x[1000];
string c,d;
int main()
{
    cin>>c>>d;
    a=c.length();
    b=d.length();
    m=max(a,b);
    if(a>b)
    {
        for(i=1;i<=a;i++)
        {
            x[i]=c[a-i]-48;
        }
        for(i=1;i<=b;i++)
        {
            x[i]+=d[b-i]-48;
        }
    }
    else
    {
        for(i=1;i<=b;i++)
        {
            x[i]=d[b-i]-48;
        }
        for(i=1;i<=a;i++)
        {
            x[i]+=c[a-i]-48;
        }

    }
    for(i=1;i<=m;i++)
    {
        if(x[i]>=10)
        {
            x[i]-=10
            x[i+1]++;
        }
    }
    if(x[m+1]>0)
    {
        m++;
    }
    for(i=m;i>=1;--i)
        {
            cout<<x[i];
        }

}