有大佬看一下我的代码有什么问题吗?
上代码
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[10010],b[10010],sum[510];
int main(){
cin>>s1>>s2;
if(s2.length()>s1.length() || (s2.length()==s1.length() && s1<s2)){
cout<<"-";
swap(s1,s2);
}
for(int i=0;i<s1.length();i++){
a[i]=s1[s1.length()-i-1]-'0';
}
for(int i=0;i<s2.length();i++){
b[i]=s2[s2.length()-i-1]-'0';
}
int m=max(s1.length(),s2.length());
for(int i=0;i<m;i++){
sum[i]+=a[i]-b[i];
if(sum[i]<0){
sum[i+1]--;
sum[i]+=10;
}
}
m--;
int pos=0;
for(int i=500;i>=0;i--){
if(sum[i]){
pos=i;
break;
}
}
for(int i=pos;i>=0;i--){
cout<<sum[i];
}
return 0;
}
(请在原文上改,该对必关)