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

hdu 1002

发布时间:2020-12-14 03:42:25 所属栏目:大数据 来源:网络整理
导读:#include iostream#include cstring#include cstdio#include cstdlibusing namespace std;const int MAXN = 1010;void Reverse_Char(char* a){ int len = strlen(a)-1; int mid = len / 2; for(int i = 0; i = mid; ++i) { char tmp; tmp = a[i]; a[i] = a[l
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>

using namespace std;

const int MAXN = 1010;

void Reverse_Char(char* a)
{
    int len = strlen(a)-1;
    int mid = len / 2;

    for(int i = 0; i <= mid; ++i)
    {
        char tmp;
        tmp = a[i];
        a[i] = a[len-i];
        a[len-i] = tmp;
    }
    return ;
}

void Big_Num_Add(char* a,char* b)
{
    char rr[MAXN];
    Reverse_Char(a);
    Reverse_Char(b);
    char* pa = a;
    char* pb = b;
    int flag = 0;
    int pos = 0;
    int m = 0;
    while(*pa && *pb)
    {
        m = (*pa++ - 48) + (*pb++ - 48) + flag;
        rr[pos++] = m % 10 + 48;
        if(m >= 10)
            flag = 1;
        else
            flag = 0;
    }

    while(*pa)
    {
        if(flag)
        {
            m = *pa++ - 48 + flag;
            rr[pos++] = m%10 + 48;
            if(m >= 10)
                flag = 1;
            else
                flag = 0 ;
        }
        else
            rr[pos++] = *pa++;
    }

    while(*pb)
    {
        if(flag)
        {
            m =  *pb++ - 48 + flag;
            rr[pos++] = m%10 + 48;
            if(m >= 10)
                flag = 1;
            else
                flag = 0;
        }
        else
            rr[pos++] = *pb++;
    }
    if(flag)
        rr[pos++] = flag + 48;
    rr[pos] = '';
    Reverse_Char(rr);
    int len = strlen(rr);
    pos = 0;
    while(rr[pos] == '0')
        pos++;
    for(;pos < len; pos++)
        cout<<rr[pos];
    //cout<<endl;

}

int main()
{
    char a[MAXN],b[MAXN];

    int T;
    int kcase = 1;
    cin>>T;
    while(T--)
    {
        cin>>a>>b;
        cout<<"Case "<<kcase++<<":"<<endl;
        cout<<a<<" + "<<b<<" = ";
        Big_Num_Add(a,b);
        cout<<endl;
        if(T != 0 )
            cout<<endl;
    }
    return 0;
}

(编辑:李大同)

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

    推荐文章
      热点阅读