大数加法的字符串实现
发布时间:2020-12-14 02:59:40  所属栏目:大数据  来源:网络整理 
            导读:#includeiostream#include string.h#include stdio.husing namespace std;char s1[200],s2[200],sum[210];void add(){ int lena=strlen(s1); int lenb=strlen(s2); int maxlen=(lenalenb)?lenb:lena; int carry=0,k=0; while(lena--0 lenb--0) { int left=s1
                
                
                
            
                        #include<iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
char s1[200],s2[200],sum[210];
void add()
{
    int lena=strlen(s1);
    int lenb=strlen(s2);
    int maxlen=(lena<lenb)?lenb:lena;
    int carry=0,k=0;
    while(lena-->0 && lenb-->0)
    {
        int left=s1[lena]-'0';
        int right=s2[lenb]-'0';
        int s=left+right+carry;
        carry=s/10;
        s%=10;
        sum[k++]=s+'0';
    }
    if(lena<=0)
    {
        while(lenb-->0)
        {
            int left=0;
            int right=s2[lenb]-'0';
            int s=left+right+carry;
            carry=s/10;
            s%=10;
            sum[k++]=s+'0';
        }
    }
    else if(lenb<=0)
    {
        while(lena-->0)
        {
            int left=s1[lena]-'0';
            int right=0;
            int s=left+right+carry;
            carry=s/10;
            s%=10;
            sum[k++]=s+'0';
        }
    }
    if(carry!=0)
        sum[k++]=carry+'0';
    sum[k]=' ';
    strrev(sum);
}
int main()
{
    cin>>s1>>s2;
    add();
    cout<<"result is "<<sum<<endl;
    return 0;
}
        (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
