永发信息网

杭电ACM HDOJ 1002 高精度加法 我的程序哪里错了?请测试下.

答案:3  悬赏:30  手机版
解决时间 2021-01-09 01:35
杭电ACM HDOJ 1002 高精度加法 我的程序哪里错了?请测试下.
最佳答案
你的答案是完全正确的,只是你不能先把“Case”打出来再输入。
所以你要把这句printf("Case %d:\n",k);放到scanf("%s",a);后面,printf("%s + ",a);的前面,修改后就能AC了。
全部回答

Case输出的顺序不对。。。
我AC代码,仅供参考。。
#include
#include
int main()
{
    int t;
    int i,j,k;
    int len1,len2;
    char a[100000],b[100000],c[100000];
    scanf("%d",&t);
    for(k=1;k<=t;k++)
    {
        scanf("%s %s",a,b);
        printf("Case %d: ",k);
        printf("%s + %s = ",a,b);
        len1=strlen(a);
        len2=strlen(b);
        if(len1==len2)
        {
            for(i=len1-1;i>=0;i--)
                c[i]=a[i]+b[i]-'0';
            for(i=len1-1;i>0;i--)
            {
                if(c[i]>'9')
                {
                    c[i]-=10;
                    c[i-1]+=1;
                }
            }
            if(c[0]>'9')
            {
                printf("1");
                c[0]-=10;
            }
            for(i=0;i                printf("%c",c[i]);
            printf(" ");
        }
        else if(len1>len2)
        {
            for(i=0;i                c[i]=a[i];
            for(i=len1-len2,j=0;i                c[i]=a[i]+b[j]-'0';
            for(i=len1-1;i>0;i--)
            {
                if(c[i]>'9')
                {
                    c[i]-=10;
                    c[i-1]+=1;
                }
            }
            if(c[0]>'9')
            {
                printf("1");
                c[0]-=10;
            }
            for(i=0;i                printf("%c",c[i]);
            printf(" ");
        }
        else
        {
            for(i=0;i                c[i]=b[i];
            for(i=len2-len1,j=0;i                c[i]=a[j]+b[i]-'0';
            for(i=len2-1;i>0;i--)
            {
                if(c[i]>'9')
                {
                    c[i]-=10;
                    c[i-1]+=1;
                }
            }
            if(c[0]>'9')
            {
                printf("1");
                c[0]-=10;
            }
            for(i=0;i                printf("%c",c[i]);
            printf(" ");
        }
        if(k            printf(" ");
    }
    return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
超市熟鹅多少钱一只?
“小气”跟“小器”有什么不一样吗?
几年前就和老婆离了,之后一直和女儿住,女儿
电磁炉自动加火是怎么回事
w.an.g,z.h.i,拼音怎么读?谁有?必有重谢
密闭空间包括哪些
3除9是多少?
尿素溶在水中,植物的根能吸收吗
vivo钢化膜多少钱一张哪位知道的说下
济唐苑草品牌起源
单选题李老师从A点出发向北偏东60°方向走了
象棋十决是什么?
四川省蓬溪县2路公交车起始站和终点站和发车
鸡公煲是哪里的啊
云南产神奇百草丹哪里有售
推荐资讯
什么是超越数? 为什么说圆周率是个超越数?
女生o型腿有什么危害
理科高考270分有什么学校、各位兄弟姐妹出出
你向往的部门是什么样子的
用吕锅蒸地瓜蒸了一夜,地瓜还能吃吗?
妙与豪妙怎么进位
买房时销售员说可以在某某学校读书 买完后又
已知4x+0.5=
馋得直流口水的可以用什么成语代替
2004年之前的日本动画电影
将虚拟内存设置到d区,最大值为1gb
铅锑合金和纯铅比重
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?