怎么输都是0
查看原帖
怎么输都是0
1121099
Z_HX_QAQ楼主2025/1/23 11:17
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[11000],b[11000],c[21000];
int la,lb,lc;
int main(){
	cin>>s1>>s2;
	la=s1.size();
	lb=s2.size();
	if((s1<s2&&la==lb)||la<lb){
		swap(s1,s2);
		swap(la,lb);
		cout<<"-";
	}
	for(int i=0;i<la;i++)
		a[i+1]=s1[la-i]-'0';
	for(int i=0;i<lb;i++)
		b[i+1]=s2[lb-i]-'0';
	lc=la;
	memset(c,0,sizeof(c));
	for(int i=1;i<=lc;i++) {
		c[i]=a[i]-b[i]+c[i];
		if(c[i]<0){
			c[i-1]--;
			c[i]+=10;
		}
	}
	while(c[lc]==0&&lc>1)
		lc--;
	for(int i=lc;i>=1;i--)
		printf("%d",c[i]);
    return 0;
}
2025/1/23 11:17
加载中...