10分求调必关
查看原帖
10分求调必关
1351770
David66666楼主2024/9/27 18:17
#include<iostream>
using namespace std;
char flag='+';
string s1,s2;
int a[100005],b[100005],c[100005],ans;
int main(){
	getline(cin,s1);
	getline(cin,s2);
	if(s1.size()<s2.size()||s1.size()==s2.size()&&s1<s2){
		swap(s1,s2);
		flag='-';
	}
	for(int i=0;i<s1.size();i++)a[i]=s1[s1.size()-i-1]-'0';
	for(int i=0;i<s2.size();i++)b[i]=s2[s2.size()-i-1]-'0';
	for(int i=0;i<s1.size();i++){
		if(a[i]<b[i]){
			a[i]+=10;
			a[i+1]-=1;
		}
		c[i]=a[i]-b[i];
	}
	if(flag=='-')cout<<flag;
	for(int i=s1.size()-1;i>=0;i--){
		if(c[i]!=0){
			ans=i;
			break;
		}
	}
	for(int i=ans;i>=0;i--)cout<<c[i];
	return 0;
}
2024/9/27 18:17
加载中...