有大佬能帮我改一下代码吗,实在不会改了
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#define rep(i,n) for(int i = 0;i < n;i++)
using namespace std;
char a_str[10001],b_str[10001];
int a[10001],b[10001],c[10001];
int main(){
cin >> a_str >> b_str;
int a_len = strlen(a_str),b_len = strlen(b_str);
rep(i,a_len) a[a_len - i] = a_str[i] - '0';
rep(i,b_len) b[b_len - i] = b_str[i] - '0';
int c_len = max(a_len,b_len);
if(b_len > a_len){
cout<<"-";
swap(a_len,b_len);swap(a_str,b_str);
rep(i,c_len) swap(a[i],b[i]);
}
if(a_len == b_len){
rep(i,c_len){
if(b[i] > a[i]){
cout << "-";
swap(a_len,b_len);swap(a_str,b_str);
rep(i,c_len) swap(a[i],b[i]);
}
else break;
}
}
for(int i = 1;i <= c_len;i++){
if(a[i] < b[i]){
a[i] += 10;
a[i + 1]--;
}
c[i] = a[i] - b[i];
}
while(c[c_len] == 0 && c_len > 1) c_len--;
for(int i = c_len;i > 0;i--) cout << c[i];
return 0;
}