没啥好说的,直接上代码吧
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[10100],b[10100],c[10100],neg=0,t;
int main() {
ios::sync_with_stdio(false);
cin>>s1>>s2;
for(int i=0;i<s1.size();i++){
a[s1.size()-i]=s1[i]-'0';
}
for(int i=0;i<s2.size();i++){
b[s2.size()-i]=s1[i]-'0';
}
neg=s1.size()<s2.size();
int i=s1.size(),f=0;
while(s1.size()==s2.size()&&a[i]==b[i]){
i++;
if(a[i]<b[i]){
neg=1;
f=1;
}else if(a[i]<b[i]){
f=1;
}
}
if(f==0){
cout<<0;
return 0;
}
if(neg==1){
cout<<'-';
}
for(int i=1;i<=max(s1.size(),s2.size());i++){
c[i]=(a[i]+b[i]+t)%10;
t=(a[i]+b[i])/10;
}
for(int i=max(s1.size(),s2.size());i>0;i--){
cout<<c[i];
}
return 0;
}
希望有dalao能讲解一下