高精度加法C语言

#include <stdio.h>
#include <string.h>

int main()
{
    char a[202]={0},b[202]={0};
    scanf("%s%s",a,b);
    int alen=strlen(a),blen=strlen(b);
    int a1[202]={0},b1[202]={0},c1[203]={0},i;
    for(i=0;i<alen;i++)
    {
        a1[i]=a[alen-1-i]-'0';
    }
    for(i=0;i<blen;i++)
    {
        b1[i]=b[blen-1-i]-'0';
    }
    alen = alen > blen ? alen:blen;
    for(i=0;i<alen;i++)
    {
       c1[i]=a1[i]+b1[i];
    }
    for(i=0;i<alen;i++)
    {
       if(c1[i]>=10)
       {
            c1[i+1]+=c1[i]/10;
            c1[i] %=10;
       }          
    }
    while(!c1[i] && i)
    {
        i--;
    }
    for(;i>=0;i--)
    {
       printf("%d",c1[i]);    
    }
    return 0;
}

  

posted @ 2020-03-18 17:34  Arielsixsixsix  阅读(118)  评论(0编辑  收藏  举报