codevs 3116 高精度练习之加法

第一次分函数写代码,果然好调。

#include <iostream>
#include<cstdio>
#include <vector>
#include <sstream>
#include <string>
#include <cstring>
#include <cmath>
#include <stack>
#include <algorithm>
using namespace std;

const int MAXL=505;
char al[MAXL];
char bl[MAXL];
int a[MAXL];
int b[MAXL];
int c[MAXL];
int stra;
int strb;


/*void output()
{
   for(int i=0;i<stra;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<endl;
    for(int i=0;i<strb;i++)
    {
        cout<<b[i]<<" ";
    }
    cout<<endl;
}*/

void input()
{
scanf("%s",&al);
getchar();
scanf("%s",&bl);
stra=strlen(al);
strb=strlen(bl);
}
void rever()
{
    for(int i=0;i<stra;i++)
    {
        a[i]=al[stra-1-i]-'0';///
    }
    for(int i=0;i<strb;i++)
    {
        b[i]=bl[strb-1-i]-'0';///
    }
    //output();
}

void pluss()
{
    int ll=max(stra,strb)+1;
    int temp=0;
    for(int i=0;i<ll;i++)
        {
            temp=a[i]+b[i]+temp;
            c[i]=temp%10;
            if(temp/10) temp=1;
            else temp=0;
        }
    if(c[ll-1]==0) ll--;
    for(int i=ll-1;i>=0;i--)
    {
        cout<<c[i];
    }
    cout<<endl;
}


int main()
{
input();
rever();
pluss();

return 0;
}
原文地址:https://www.cnblogs.com/weiweiyi/p/5128511.html