大数加法

来源:互联网 发布:网络数字用语1 编辑:程序博客网 时间:2024/06/06 00:26
#include <iostream>  #include <string>  using namespace std;  int main()  {      string sa;      string sb;    cin>>sa>>sb;    if(sa.size()<sb.size())//使sa为最长字符串,方便后面计算    {        string temp=sa;        sa=sb;        sb=temp;    }    int a,b,sum,flag=0;    int la=sa.size();//计算字符串长度    int lb=sb.size();    while(la>0)    {        a=sa[la-1]-'0';//从右到左依次计算        if(lb>0)        {            b=sb[lb-1]-'0';        }        else        {            b=0;        }        sum=a+b+flag;        if(sum>9)//计算进位        {            sa[la-1]='0'+sum%10;            flag=1;        }        else        {            sa[la-1]='0'+sum;            flag=0;        }        la--;        lb--;    }    if(flag==1)    {        sa="1"+sa;    }    cout<<sa;    return 0;  }