您的位置:首页 > 编程语言 > C语言/C++

C++ 大数相加

2017-04-04 15:23 190 查看
#include <iostream>

#include <cstring>

#include <stdio.h>

#include <algorithm>

using namespace std;

char a[10000];

char b[10000];

char c[10000];

int m[100000];

int n[100000];

int x[100000];

int t;

int main()

{

    scanf("%d",&t);

    int cases=1;

    while(t--)

    {

    memset(x,0,sizeof(x));

    memset(m,0,sizeof(m));

    memset(n,0,sizeof(n));

    scanf("%s%s",a,b);

    int la=strlen(a);

    int lb=strlen(b);

    int lc=max(la,lb) ;

    for(int i=la-1; i>=0; i--)

        m[la-i-1]=a[i]-'0';

    for(int j=lb-1; j>=0; j--)

        n[lb-j-1]=b[j]-'0';

    for(int i=0; i<lc; i++)

    {

        x[i]+=m[i]+n[i];

        x[i+1]+=(x[i]/10);

        x[i]=x[i]%10;

    }

    if(x[lc]>0) lc++;

    printf("Case %d:\n",cases++);

    printf("%s + %s = ",a,b);

    for(int i=lc-1; i>=0; i--)

        printf("%d",x[i]);

        printf("\n");

    if(t) printf("\n");

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 大数相加