hdu 1002 A + B Problem II

//大数,直接开数组加

#include<stdio.h>
#include<string.h>
int s[1005];
void
Add(char a[],char b[])
{

    int
lena=strlen(a);
    int
lenb=strlen(b);
    int
len=lena>lenb?lena:lenb;
    int
ia[1005]={0};
    int
ib[1005]={0};
    for
(int i=0;i<lena;i++)
        ia[i]=a[lena-i-1]-'0';
    for
(int i=0;i<lenb;i++)
        ib[i]=b[lenb-i-1]-'0';
    for
(int i=0;i<len;i++)
    {

        s[i]+=ia[i]+ib[i];
        s[i+1]=s[i]/10;
        s[i]%=10;
    }

    return
;
}

   
int
main(void)
{

    int
n;
    char
a[1005],b[1005];
    int
k=1;
    scanf("%d%*c",&n);
    while
(n--)
    {

        memset(s,0,sizeof(s));
        scanf("%s%s",a,b);
        Add(a,b);
        int
i=1004;
        while
(!s[--i]);
        printf("Case %d:\n%s + %s = ",k++,a,b);
        for
(int j=i;j>=0;j--) printf("%d",s[j]);
        printf("\n");
        if
(n) printf("\n");
    }

    return
0;
}
    
       

posted @ 2013-09-11 19:14  heaventouch  阅读(265)  评论(0编辑  收藏  举报