代码哪错了? 高精度数减法:
#include<bits/stdc++.h>
using namespace std;
int main(){
char a1[1001]={0},b1[1001]={0},c1[1001]={0};
int a[1001]={0},b[1001]={0},c[1001]={0},lena,lenb,lenc=0,i;
cin>>a1>>b1;
lena=strlen(a1);
lenb=strlen(b1);
if(strlen(a1)<strlen(b1)||(strlen(a1)==strlen(b1)&&strcmp(a1, b1)<0){
strcpy(c1,a1);
strcpy(a1,b1);
strcpy(b1,c1);
cout<<"-";
}
lena=strlen(a1);
lenb=strlen(b1);
for(i=0;i<lena;i++){
a[lena-i-1]=a1[i]-48;
}
for(i=0;i<lenb:i++){
b[lenb-i-1]=b1[j]-48;
}
i=0;
while(i<lena||i<lenb){
if(a[i]<b[j]){
a[j]+=10;
a[i+1]--;
}
c[i]=a[i]-b[i];
lenc=i;
}
c[i]=a[i]-b[i];
lenc=i;
while((c[lenc]==0)&&(lenc>1){
lenc--;
}
for(i=lenc;i>=0;i--){
cout<<c[i];
}
cout<<endl;
return 0;
}
知道的下方回复我