很普通的做法,就是先比较大小,然后在计算
2024-04-24 17:01:05
发布于:湖北
26阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[10000],b[10000],c[10000];
int dayu(string s1,string s2)
{
if(s1.length()<s2.length())
{
return false;
}
else if(s1.length()>s2.length())
{
return true;
}
else{
if(s1>s2)return true;
else return false;
}
}
int main()
{
string s1,s2,s3;
cin>>s1;
cin>>s2;
if (!dayu(s1,s2)) {
cout<<"-";
s3=s1;
s1=s2;
s2=s3;
}
for(int i=0;i<s1.length();i++)
{
a[s1.length()-i-1] = s1[i]-'0';
}
for(int i=0;i<s2.length();i++)
{
b[s2.length()-i-1] = s2[i]-'0';
}
// for(int i=0;i<s1.length();i++)
// {
// cout<<a[s1.length()-i-1];
// }
// cout<<endl;
//
// for(int i=0;i<s2.length();i++)
// {
// cout<<b[s2.length()-i-1];
// }
// cout<<endl;
int lang=max(s1.length(),s2.length());
int d=0;
for(int i=0;i<lang;i++)
{
int q=a[i]-b[i]-d;
if(q<0){
d=1;
q += 10;
}
else{
d=0;
}
c[i] = q;
}
int i=lang-1;
for( ;i>0;i-- )
{
if(c[i]!=0)break;
}
for( ;i>=0;i-- )
{
cout<<c[i];
}
return 0;
}
这里空空如也
有帮助,赞一个