我是新手,高精度有两行看不懂,求救
  • 板块灌水区
  • 楼主huboxuan
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/8/6 22:43
  • 上次更新2024/8/7 08:32:07
查看原帖
我是新手,高精度有两行看不懂,求救
1015155
huboxuan楼主2024/8/6 22:43
#include <bits/stdc++.h>
#define PI 3.14
using namespace std;
int a[56],b[56];
void fun(),add();
int main(){
	fun(),add();
	int len=a[0]>b[0]?a[0]+1:b[0]+1;
	while(a[len]==0) len--;//这一行
	for(int i=len;i>=1;i--)//这一行
		cout<<a[i];
	return 0;
}
void fun(){
	char ca[55],cb[55];
	cin>>ca>>cb;
	a[0]=strlen(ca);
	for(int i=1;i<=a[0];i++){
		a[i]=ca[a[0]-i]-'0';
	}
	b[0]=strlen(cb);
	for(int i=1;i<=b[0];i++){
		b[i]=cb[b[0]-i]-'0';
	}
}
void add(){
	int len,carry=0,tmp;//最大长度、进位、二数相加的临时结果
	len=a[0]>b[0]?a[0]+1:b[0]+1;
	for(int i=1;i<=len;i++){
		tmp=a[i]+b[i]+carry;
		a[i]=tmp%10;
		carry=tmp/10;
	}
}
2024/8/6 22:43
加载中...