错哪了?
2024-08-05 11:46:00
发布于:广东
39阅读
0回复
0点赞
#include<iostream>
#include<string>
using namespace std;
void Dx(string str,int arr[]){
int lenstr=str.size();
for(int i=0;i<lenstr;i++){
arr[i]=str[lenstr-1-i]-'0';
}
}
string n (string s1,string s2){
string str="";
char flag='+';
int a1[200]={0},a2[200]={0},a3[200]={0};
cin>>s1>>s2;
if(s1.size()<s2.size() || s1.size()==s2.size() && s1<s2){
swap(s1,s2);
flag='-';
}
Dx(s1,a1);
Dx(s2,a2);
int lena3=s1.size();
for(int i=0;i<lena3;i++){
if(a1[i]<a2[i]){
a1[i]+=10;
a1[i+1]-=1;
}
a3[i]=a1[i]-a2[i];
}
while(a3[lena3-1]==0 && lena3>1)
lena3--;
if(flag=='-')
cout<<flag;
for(int i=0;i<lena3;i++){
str+=(a3[lena3-1-i]+'0');
}
return str;
}
int main(){
string s1,s2;
cin>>s1>>s2;
cout<<n(s1,s2);
return 0;
}
这里空空如也
有帮助,赞一个