求助
查看原帖
求助
290596
Min_Zi_LRC楼主2020/8/15 10:37

只有20,问哪里错了,谢谢

#include <iostream>
#include <cstring>
using namespace std;

int main(){
	bool con=0;
	int le1,le2,lem,pp=0,p1[20000]={0},p2[20000]={0},eq[20000]={0};
	char in1[20000]={0},in2[20000]={0};
	cin>>in1>>in2;
	le1=strlen(in1);
	le2=strlen(in2);
	lem=max(le1,le2);
	if((in1<in2 && strlen(in1)==strlen(in2)) || strlen(in1)<strlen(in2)) {
		swap(in1,in2);
		cout<<'-';
	}
//	cout<<in1<<endl<<in2<<endl;
	for(int i=0;i<le1;i++) {
		p1[i]=(int)in1[le1-1-i]-'0';
	}
	for(int i=0;i<le2;i++) {
		p2[i]=(int)in2[le2-1-i]-'0';
	}
	for(int i=0;i<lem;i++) {
		eq[i]=p1[i]-p2[i];
		if(eq[i]<0){
			eq[i]+=10;
			p1[i+1]-=1;
		}
	}
	for(int i=500;i>=0;i--) {
		if(con==0 && eq[i]==0) {
			if(i==0) cout<<'0';
			else continue;
		}
		else {
			if(con==0) con=1;
			cout<<eq[i];
		}
	}
	return 0;
}
2020/8/15 10:37
加载中...