编译错误 呜呜呜
查看原帖
编译错误 呜呜呜
740882
Huojinyi楼主2024/10/10 20:57
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
struct bigNumber{
	int x[N],len;
	bigNumber(){
		memset(x,0,sizeof x);
		len=1;
	}
	void print(){
		for(int i=len;i>=1;i--){
			cout<<x[i];
		}
		cout<<endl;
	}
}a,b;
bigNumber fix(bigNumber a){
	for(int i=1;i<a.len;i++){
		if(a.x[i]<0){
			a.x[i]+=10;
			a.x[i+1]--;
		}
		a.x[i+1]+=a.x[i]/10;
		a.x[i]%=10;
	}while(a.x[a.len]>9){
		a.x[a.len+1]+=a.x[a.len]/10;
		a.x[a.len]%=10;
		a.len++;
	}while(!a.x[a.len]&&a.len>1){
		a.len--;
	}
	return a;
}
bigNumber operator-(bigNumber a,bigNumber b){
	bigNumber c;
	c.len=max(a.len,b.len);
	for(int i=1;i<=c.len;i++){
		c.x[i]=b.x[i]-a.x[i];
	}
	return fix(c);
}
int main(){
	char s[N];
	cin>>s+1;
	a.len=strlen(s+1);
	for(int i=1;i<=a.len;i++){
		a.x[i]=s[a.len-i+1]-48;
	}cin>>s+1;
	b.len=strlen(s+1);
	for(int i=1;i<=b.len;i++){
		b.x[i]=s[b.len-i+1]-48;
	}
	bigNumber c=a+b;
	c.print();
	return 0;
}
2024/10/10 20:57
加载中...