用户:
一只小枫鸽查看:0 回复:0 评论:0 创建时间:2023-05-01T09:58:57
不多说,上代码:
#include <bits/stdc++.h>
using namespace std;
char s1[255],s2[255],s3[255];
int a[255],b[255],c[255],flag=0;
int la,lb,lc;
bool compare(){
int lea=strlen(s1),leb=strlen(s2);
if (lea!=leb)
return lea>leb;
for (int i=0;i<lea;i++){
if (s1[i]!=s2[i])
return s1[i]>s2[i];
}
return true;
}
int main(){
cin>>s1>>s2;
if (!compare()){
flag=1;
strcpy(s3,s1);
strcpy(s1,s2);
strcpy(s2,s3);
}
la=strlen(s1);
lb=strlen(s2);
for (int i=0;i<la;i++)
a[la-i]=s1[i]-'0';
for (int i=0;i<lb;i++)
b[lb-i]=s2[i]-'0';
lc=max(la,lb);
for (int i=1;i<=lc;i++){
if (a[i]<b[i]){
a[i+1]--;
a[i]+=10;
}
c[i]=a[i]-b[i];
}
while(c[lc]==0&&lc>1)
lc--;
if (flag)
cout<<'-';
for (int i=lc;i>=1;i--)
cout<<c[i];
}