【模拟】高精度练习之加法

原题传送门

思路


简单的高精度加法,无需解释~~~

Code


#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<stack>
#include<map>
using namespace std;

string a,b;
int A[501],B[501],C[501],i,len;

int main()
{
    cin>>a>>b;
    for(i=1;i<=a.length();i++)
    	A[a.length()-i+1]=a[i-1]-'0';
    for(i=1;i<=b.length();i++)
    	B[b.length()-i+1]=b[i-1]-'0';
    len=max(a.length(),b.length());
	for(i=1;i<=len;i++)
	{
		C[i+1]=(A[i]+B[i]+C[i])/10;
		C[i]=(A[i]+B[i]+C[i])%10;
	}
	if(C[len+1]!=0)len++;
	for(i=len;i>=1;i--)
		cout<<C[i]; 
    
    
    
    return 0;
}

原文地址:https://www.cnblogs.com/gongdakai/p/11296119.html