高精度四件套

加法

#include <bits/stdc++.h>
using namespace std;
string jia(string str1,string str2)
{
	int a[1000],b[1000];
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	int len1=str1.length();
	int len2=str2.length();
	for(int i=0;i<str1.length();i++)
		a[i]=str1[len1-i-1]-'0';
	for(int i=0;i<str2.length();i++)
		b[i]=str2[len2-i-1]-'0';
	for(int i=0;i<max(len1,len2);i++)
	{
		a[i]+=b[i];
		a[i+1]+=a[i]/10;
		a[i]%=10;
	}
	string temp;
	int head=max(len1,len2)+1;
	while(a[head]==0)	head--;
	for(int i=head;i>=0;i--)
		temp+=(a[i]+'0');
	return temp; 
}
int main()
{
	string q,w;
	cin>>q>>w;
	cout<<jia(q,w);
}
原文地址:https://www.cnblogs.com/iss-ue/p/12679632.html