码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 1002 Sum Problem(高精度)

时间:2014-11-01 19:13:54      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:hdu1002   高精度   sum   

高精度:一位一位存
#include<stdio.h>
#include<string.h>
main()
{
    int n,l1,l2,i,j,k,m,p;
    char a[1000],b[1000],c[1000],d[1000],s[1001];
    while(scanf("%d ",&n)!=EOF)
    {
        for(p=1; p<=n; p++)
        {

            scanf("%s %s",a,b);
            l1=strlen(a);
            l2=strlen(b);
            k=0;
            for(i=0; i<1001; i++)
                s[i]='0';
            if(l1>l2)
            {
                for(i=0; i<l1-l2; i++)
                    c[i]='0';
                for(j=l1-l2; j<l1; j++)
                    c[j]=b[j-l1+l2];
                for(i=0; i<l1; i++)
                    d[i]=a[i];
                m=l1;
            }
            else
            {
                for(i=0; i<l2-l1; i++)
                    d[i]='0';
                for(j=l2-l1; j<l2; j++)
                    d[j]=a[j+l1-l2];
                for(i=0; i<l2; i++)
                    c[i]=b[i];
                m=l2;
            }
            for(i=m-1; i>=0; i--)
            {
                s[k]=c[i]-'0'+d[i]-'0'+s[k]-'0';
                if(s[k]>=10)
                {
                    s[k]-=10;
                    s[k+1]+=1;
                }
                k++;
            }
            printf("Case %d:\n",p);
            printf("%s + %s = ",a,b);
            for(i=k-1; i>=0; i--)
                printf("%d",s[i]);
            printf("\n");
            if(p<n)printf("\n");
        }
    }
}

hdu 1002 Sum Problem(高精度)

标签:hdu1002   高精度   sum   

原文地址:http://blog.csdn.net/acm_baihuzi/article/details/40683001

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!