这不就是BigInteger算法吗。。参考Java自带的BigInteger吧
另外你这代码什么问题啊。。也不说清楚。。问个问题都这么没水平

解决方案 »

  1.   

    38行改成
    System.out.print(num[0] + " + " + num[1] + " = ");
      

  2.   

    用BigInteger类,这是一个算大数的题,下面是我的代码
    import java.math.BigInteger;
    import java.util.Scanner;class Main {
        public static void main(String[] args) {
            Scanner I = new Scanner(System.in);
            int n = I.nextInt();
            for (int i = 1; i <= n; i++) {
                BigInteger a = I.nextBigInteger();
                BigInteger b = I.nextBigInteger();
                    System.out.println("Case " + i + ":");
                    System.out.println(a + " + " + b + " = " + a.add(b));
                    if(i!=n)
                    System.out.println();        }
        }
    }
      

  3.   

    #include <stdio.h>
    #include <string.h>int main(int argc,char *argv[])
    {
        int n,z=1;
        scanf("%d",&n);
        while(n--)
        {
            char a[1000],b[1000],c[1000],t;
            int longa,longb;
            int i,j,next,big;        scanf("%s %s",a,b);
            getchar();
            printf("Case %d:\n",z++);
            printf("%s + %s = ",a,b);
            longa = strlen(a);
            longb = strlen(b);
    //        printf("%d %d\n",longa,longb);
            for(i=0;i<longa;i++)
                a[i] -='0';
            for(i=0;i<longb;i++)
                b[i] -='0';        j = longa-1;
            for(i=0;i<j;i++,j--)
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
            j = longb-1;
            for(i=0;i<j;i++,j--)
            {
                t = b[i];
                b[i] = b[j];
                b[j] = t;
            }
            
            if(longa<longb)
            {
                for(i = longa;i<longb;i++)
                    a[i] = 0;
                big = longb;
            }
            else
            {
                for(i=longb;i<longa;i++)
                {
                    b[i] = 0;
                }
                big = longa;
            }
            next = 0;
            for(i=0;i<big;i++)
            {
                c[i] = a[i] + b[i] + next;
                next = 0;
                if(c[i]>=10)
                {
                    next = 1;
                    c[i] -= 10;
                }
            }
            if(next == 1)
            {
                c[i] = 1;
                i++;
            }
            i--;        for(i;i>=0;i--)
            {
                printf("%d",c[i]);
            }
            printf("\n");
            if(n!=0)
                printf("\n");
            
        }    return 0;
    }
    C 语言版,不用大数类,可以参考下