首页 > 其他 > 详细

hdu 1002 Sum Problem(高精度)

时间:2014-11-01 19:12:47      阅读:268      评论:0      收藏:0      [点我收藏+]
高精度:一位一位存
#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(高精度)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!