zcmu-1181 a+b(不同于第一题)(大数加法,java、c/c++实现)

题目链接

参考了同学的代码!

Java:

import java.math.BigInteger; 
import java.util.Scanner;   
   
public class Main{   
    public static void main(String[] args){   
        Scanner cin = new Scanner(System.in);  
        BigInteger a,b;
        int t;
        t = cin.nextInt();
        while ((t--)>0){
            a = cin.nextBigInteger();
            b = cin.nextBigInteger();
            System.out.println(a.add(b));
        }
    } 
} 

c:

#include<stdio.h>
#include<string.h>
int main()
{
    int q,x,y,i,j,e[10010],c[10010],d[10010],m,n;
    char a[10010],b[10010];
    scanf("%d",&q);
    for(j=0;j<q;j++){
        scanf("%s%s",a,b);
        x=strlen(a);
        y=strlen(b);
        m=x;
        n=y;
        memset(c,0,sizeof(c));
        memset(d,0,sizeof(d));
        memset(e,0,sizeof(e));
        for(i=0;i<m;i++){
            c[i]=a[x-1]-48;
            x--;
        }
        for(i=0;i<n;i++){
            d[i]=b[y-1]-48;
            y--;
        }
        if(m>n){
            for(i=0;i<m;i++){
                e[i]+=c[i]+d[i];
                if(e[i]>=10){
                    e[i]=e[i]-10;
                    e[i+1]++;
                }
            }
            if(e[m]>0){
                for(i=m;i>=0;i--){
                    printf("%d",e[i]);
                }
                printf("\n");
            }
            else
                for(i=m-1;i>=0;i--){
                    printf("%d",e[i]);
                }
            printf("\n");
        }
        if(m<=n){
            for(i=0;i<n;i++){
                e[i]=c[i]+d[i]+e[i];
                if(e[i]>=10){
                    e[i]=e[i]-10;
                    e[i+1]++;
                }
            }
            if(e[n]>0){
                for(i=n;i>=0;i--){
                    printf("%d",e[i]);
                }
                printf("\n");
            }
            else
                for(i=n-1;i>=0;i--){
                    printf("%d",e[i]);
                }
            printf("\n");
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/hzyhfxt/article/details/81777490