加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数加法的字符串实现

发布时间: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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读