题解
2025-05-18 20:03:01
发布于:浙江
5阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int maxn=250;
char sa[maxn],**[maxn];
char tmp[maxn];
int a[maxn],b[maxn],c[maxn];
int main(){
memset(c,0,sizeof(c));
scanf("%s",sa);
scanf("%s",**);
int la=strlen(sa);
int lb=strlen(**);
if(la<lb||((la==lb)&&strcmp(sa,**)<0)){
strcpy(tmp,sa);
strcpy(sa,**);
strcpy(**,tmp);
swap(la,lb);
printf("%c",'-');
}
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]=**[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>=1;i--) printf("%d",c[i]);
return 0;
}
这里空空如也
有帮助,赞一个