题意:
给定a和b,输出a-b,答案可能是负数
code:
#include<bits/stdc++.h>
using namespace std;
const int maxm=2e5+5;
char a[maxm];
char b[maxm];
signed main(){
ios::sync_with_stdio(0);
cin>>a>>b;
int n=strlen(a);
int m=strlen(b);
int f=0;
if(n<m){//保证a>=b
swap(a,b);
swap(n,m);
f=1;
}
reverse(a,a+n);
reverse(b,b+m);
for(int i=0;i<n;i++)a[i]-='0';
for(int i=0;i<m;i++)b[i]-='0';
int len=max(n,m);
for(int i=0;i<len;i++){
a[i]-=b[i];
if(a[i]<0){
a[i+1]--;
a[i]+=10;
}
}
while(len>1&&a[len-1]==0)len--;
if(f)cout<<"-";
for(int i=len-1;i>=0;i--){
cout<<(int)a[i];
}
return 0;
}