大佬们帮忙看看
#include <iostream>
#include <cstring>
using namespace std;
int main(){
char a1[1001]={},b1[1001]={};
int a[1001]={},b[1001]={},c[1001]={};
cin>>a1>>b1;
int lena=strlen(a1);
int lenb=strlen(b1);
bool flag=false;
if(lena<lenb){
flag=true;
}else if(lena==lenb){
for(int i=0;i<lena;i++){
if(a1[i]>b1[i]){
break;
}else if(b1[i]>a1[i]){
flag==true;
break;
}
}
}
if(flag){
swap(a1,b1);
cout<<"-";
}
lena=strlen(a1);
lenb=strlen(b1);
for(int i=0;i<lena;i++){
a[lena-i-1]=a1[i]-48;
}
for(int i=0;i<lenb;i++){
b[lenb-i-1]=b1[i]-48;
}
int lenc=0;
while(lenc<lena||lenc<lenb){
if(a[lenc]<b[lenc]){
a[lenc+1]--;
a[lenc]+=10;
}
c[lenc]=a[lenc]-b[lenc];
lenc++;
}
while(c[lenc]==0&&lenc>0){
lenc--;
}
for(int i=lenc;i>=0;i--){
cout<<c[i];
}