大数相加

来源:互联网 发布:海牙国际法院知乎 编辑:程序博客网 时间:2024/06/06 16:50
#include<stdio.h>
#include<string.h>
int main()
{
    char a1[100],a2[100];
    int ab1[110],ab2[110],ab3[110],i,c,s,p,su1,su2,t;
    memset(ab1,0,sizeof(ab1));
    memset(ab2,0,sizeof(ab2));
    memset(ab3,0,sizeof(ab3));
    scanf("%s%s",a1,a2);
    su1=strlen(a1);
    su2=strlen(a2);
    if(su1>su2)
        for(i=0;i<su1;i++)
    {
        t=su1-su2;
        ab1[i]=a1[i]-'0';
        if(i<su2)
            ab2[i+t]=a2[i]-'0';
    }
    else
    {
        t=su2-su1;
        for(i=0;i<su2;i++)
        {
            ab2[i]=a2[i]-'0';
            if(i<su1)
            ab1[i+t]=a1[i]-'0';
        }
    }
    for(i=0;i<su1;i++)
        printf("%d",ab1[i]);
    printf("\n");
    for(i=0;i<su2;i++)
        printf("%d",ab2[i]);
    printf("\n");
    if(su1<su2)
    {
        p=su1;
        su1=su2;
        su2=p;
    }
    c=0;
    for(i=su1-1;i>=0;i--)
    {
        s=ab1[i]+ab2[i]+c;
        if(s>9)
        {
            ab3[i]=s-10;
            c=1;
        }
        else
        {
            ab3[i]=s;
            c=0;
        }
    }
    for(i=0;i<su1;i++)
    printf("%d",ab3[i]);
    printf("\n");
    return 0;
}

0 0
原创粉丝点击