用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(); } } }
System.out.print(num[0] + " + " + num[1] + " = ");
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(); }
}
}
#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 语言版,不用大数类,可以参考下