您的位置:首页 > 其它

hdu 1002 Sum Problem(高精度)

2014-11-01 18:27 225 查看
高精度:一位一位存
#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");        }    }}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: