高精度加法_编程开发

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void fun(string a,string b)
{
    int c[102],tail=0,head=0,p=0;
    int i=a.length()-1;
    int j=b.length()-1; 
    while(i>=0||j>=0)//旧 
    {
         if(i>=0&&j>=0)
         p=(int)a[i]+(int)b[j]+p-'0'-'0';
         else if(i>=0&&j<0)
         p=(int)a[i]+p-'0';
         else if(i<0&&j>=0)
         p=(int)b[j]+p-'0';
         c[tail++]=p%10;
         p=p/10;
         i--;
		 j--;
    }
    if(p!=0)//新 
    c[tail++]=p;
    for(int i=tail-1;i>=head;i--)
    cout<<c[i];
}
int main()
{
    string a,b;
    cin>>a>>b;
    fun(a,b);
    return 0;
}