高精度加法的问题
  • 板块学术版
  • 楼主ANGELA2002
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/7/29 16:10
  • 上次更新2023/11/4 12:45:41
查看原帖
高精度加法的问题
369767
ANGELA2002楼主2021/7/29 16:10
#include<bits/stdc++.h>
using namespace std;
int a[50],b[50],c[100],len1,len2,len;
long long int gjdplus(string str1,string str2){
	int k,len;
	len1 = strlen(str1);
	len2 = strlen(str2);
	k=0;
	for(int i=len1;i>=0;i--){
		a[k]=str1[i-1]-48;
		k++;
	}
	k=0;
	for(int i=len2;i>=0;i--){
		b[k] = str2[i-1]-48;
		k++;
	}
	if(len1,len2)for(int i=len1;i<len2;i++)a[i]=0;
	else for(int i=len2;i<len1;i++)b[i]=0;
	if(len1>len2)k=len1;else k=len2;
	int f=0;
	for(int i=0;i<k;i++){
		a[i]=a[i]+b[i]+f;
		if(a[i]>=10)f=a[i]/10;else f=0;
		a[i] = a[i]%10;
	}
	len = k-1;
	if(f!=0){
		a[k]=f;
		len=k;
		cout<<a[k];
	}
	return len;
}
int main(){
	string a,b;
	cin>>a>>b;
	gjdplus(a,b);
	return 0;
}

帮忙看看这个高精度加法,有报错

2021/7/29 16:10
加载中...