兄弟们,能康康我哪里错了吗?
#include<bits/stdc++.h>
using namespace std;
char sa[250],sb[250],tmp[250];
int a[250],b[250],c[250];
int main(){
memset(c,0,sizeof(c));
scanf("%s%s",sa,sb);
int la=strlen(sa),lb=strlen(sb);
if(la<lb||((la==lb)&&strcmp(sa,sb)<0)){
strcpy(tmp,sa);
strcpy(sa,sb);
strcpy(sb,tmp);
swap(la,lb);
printf("-");
}
int lc=la>lb?la:lb;
for(int i=0;i<la;i++) a[la-i]=sa[i]-'0';
for(int i=0;i<lb;i++) b[lb-i]=sb[i]-'0';
for(int i=1;i<=lc;i++){
if(a[i]<b[i]){
a[i]+=10;
a[i+1]--;
}
c[i]=a[i]-b[i];
}
while(c[lc]==0) lc--;
for(int i=lc;i>0;i--) printf("%d",c[i]);
return 0;
}