如有错误,请指点hhh
#include<iostream>
#include<vector>
using namespace std;
vector<int> add(vector <int>&A,vector<int> &B)//加法函数
{
vector <int> C;
int t=0;//用t表示进位
for(int i=0;i<A.size()||i<B.size();i++)
{
if(i<A.size())
{
t+=A[i];
}
if(i<B.size())
{
t+=B[i];
}
C.push_back(t%10);
t=t/10;
}
if(t)//如果最高位还有1,则放入vector数组中
{
C.push_back(t);
}
return C;//返回vector数组
}
int main()
{
string a,b;
cin>>a>>b;//输入字符串
vector<int> A,B;
for(int i=a.size()-1;i>=0;i--)//倒着输入,因为比较方便,利用vector这个函数的push_back()函数
{
A.push_back(a[i]-'0');//将字符串转换为整型
}
for(int i=b.size()-1;i>=0;i--)
{
B.push_back(b[i]-'0');
}
auto C=add(A,B);//auto会自动判断C这个是什么数据类型
for(int i=C.size()-1;i>=0;i--)
{
printf("%d",C[i]);
}
return 0;
}