本蒟蒻高精减法只能过40分
: (
#include<bits/stdc++.h>
using namespace std;
char in1[10090],in2[10090],in[10090];
short num1[10090],num2[10090],ans[10090];
int main(){
memset(num1,0,sizeof(num1));
memset(num2,0,sizeof(num2));
memset(ans,0,sizeof(ans));
memset(in1,0,sizeof(in1));
memset(in2,0,sizeof(in2));
cin>>in1>>in2;
if(strlen(in1)<strlen(in2)||strlen(in1)==strlen(in2)&&strcmp(in1,in2)<0){
strcpy(in,in1);
strcpy(in1,in2);
strcpy(in2,in);
cout<<"-";
}
int len1=strlen(in1);
int len2=strlen(in2);
for(int i=0;i<=len1-1;i++){
num1[len1-i]=int(in1[i]-'0');
}
for(int i=0;i<=len2-1;i++){
num2[len2-i]=int(in2[i]-'0');
}
int i=1;
while(i<=len1 || i<=len2){
if(num1[i]<num2[i]){
num1[i]+=10;
num1[i+1]--;
}
ans[i]=num1[i]-num2[i];
i++;
}
bool check=0;
int j;
for(j=1000;j>=1;j--){
if(!check&&ans[j]!=0){
check=true;
cout<<ans[j];
}else if(check){
cout<<ans[j];
}
}
if(!check){
cout<<0;
}
return 0;
}
有没有大神能解答一下....