#include<bits/stdc++.h>
using namespace std;
int a[1005],b[1005],c[1005];
int main(){
string s1,s2;
cin>>s1>>s2;
if(s2.size()>s1.size()||s2.size()==s1.size()&&s2>s1){
swap(s1,s2);
cout<<"-";//TODO
}//如果a>b,则差为负数,输出负号
for(int i=0;i<s1.size();i++){
a[i]=s1[s1.size()-1-i]-'0';//TODO
}//string存入数组1
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-1-i];//TODO
}//string存入数组2
for(int i=0;i<s1.size();i++){
c[i]=a[i]-b[i];//TODO
}//各个数位相减
for(int i=0;i<s1.size();i++){
if(c[i]<0){
c[i+1]-=c[i]/10;
c[i]=0-c[i];//TODO
}//退位
}
int sum=s1.size();
for(int i=0;i<s1.size();i++){
if(c[s1.size()-i]==0){
sum--;//TODO
}//TODO
}//循环高位去零
for(int i=sum-1;i>=0;i--){
cout<<c[i];//TODO
}//倒序打印
return 0;
}
发代码请格式化
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-1-i];//TODO
}//string存入数组2
b[i]=s2[s2.size()-1-i];
少一个 -'0'
,加上后再看看