社区讨论

高精度减法RE怎么办?求大佬

学术版参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lor8zt8q
此快照首次捕获于
2023/11/09 21:51
2 年前
此快照最后确认于
2023/11/10 09:34
2 年前
查看原帖
rt
CPP
#include <iostream>
#include <cstring>
using namespace std;
int main(){
	char a[1001],b[1001];
	int a1[1001],b1[1001],c1[1001];
	cin>>a>>b;
	int la=strlen(a);
	int lb=strlen(b);
	if(la<lb||la==lb&&strcmp(a,b)<=0){
		swap(a,b);
		swap(la,lb);
		cout<<"-";
	}
	for(int i=0;i<la;i++){
		a1[i]=a[la-1-i]-'0';
	}
	for(int i=0;i<lb;i++){
		b1[i]=b[lb-1-i]-'0';
	}
	int x;
	for(int i=0;i<la;i++){
		c1[i]=a1[i]-x-b1[i];
		if(c1[i]<0){
			c1[i]+=10;
			x=1;
		}else{
			x=0;
		}
	}
	for(int i=0;i>la;i++){
		if(c1[i]!=0){
			break;
		}
	}
	for(int i=la-1;i>=0;i++){
		cout<<c1[i];
	}
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...