关闭

大数相加

标签: ACMCc++水题
136人阅读 评论(0) 收藏 举报

100位的大数互相加减



#include <iostream>

#include<string.h>

using namespace std;


char a[100],b[100];

int ax[100],bx[100];

int ma;


int  ad(int max,int ax[],int bx[])

{

    for (int i=0; i<max ; i++) {

        ax[i]=ax[i]+bx[i];

        if (ax[i]>=10) {

            ax[i]-=10;

            ax[i+1]++;

        }

    }

    

    

    return 0;

    

}


int main()

{

   

    

    int i,j;

    

    cin>>a>>b;

    int la=strlen(a);

    int lb=strlen(b);

    memset(ax, 0, sizeof(ax));

    memset(bx, 0, sizeof(bx));

    

  //  ********倒过来

    for(j = 0, i = strlen(a)- 1 ; i >= 0 ; i --)

        ax[j++] = a[i] - '0';

    for(j = 0 , i = lb - 1 ; i >= 0 ; i --)

        ax[j++] = b[i] - '0';

    

    

    ma=la>lb?la:lb;

    

    ad(ma, ax, bx);

    

    for( i = 100 ; i >= 0; i -- )

    {

        if( ax[i] != 0 )break;

    }

    

    //倒过来

    for(;i>=0;i--)

    {

        cout<<ax[i];

        

        

    }

    


    

    

  

    

    

    

    

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:975次
    • 积分:69
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档