又快要省赛了,最后一年在外面实习一点也没练,做点水题,找找感觉,得慢慢练点儿起来啊。大数相加以前做C写,感觉对新人来说 用来练数组 还是挺好的。现在用Java写一点意思也没有了。
以前的C代码
#include<stdio.h>
#include<string.h>
int main()
{
char number1[1011],number2[1011];
int i,j,k,n,t,len1,len2,temp,num1,num2,sum[1011];
scanf("%d",&n);
for(t=1;t<=n;t++)
{
if(t!=1)
printf("\n");
scanf("%s%s",&number1,&number2);
len1=strlen(number1);
len2=strlen(number2);
temp=0;
for(i=len1-1,j=len2-1,k=0;i>=0||j>=0;i--,j--,k++)
{
if(i>=0)
num1=number1[i]-'0';
else
num1=0;
if(j>=0)
num2=number2[j]-'0';
else
num2=0;
sum[k]=num1+num2+temp;
temp=sum[k]/10;
sum[k]%=10;
}
printf("Case %d:\n%s + %s = ",t,number1,number2);
if(temp!=0)
printf("%d",temp);
for(i=k-1;i>=0;i--)
printf("%d",sum[i]);
printf("\n");
}
return 0;
}
现在的Java代码
package hdu1002;
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String []arg){
BigInteger a,b,c;
int t;
int n=1;
Scanner input=new Scanner(System.in);
t=input.nextInt();
while(n<=t){
if(n!=1)
System.out.println();
a=input.nextBigInteger();
b=input.nextBigInteger();
c=a.add(b);
System.out.println("Case "+n+":");
System.out.println(a+" + "+b+" = "+c);
n++;
}
}
}