Problem - 1002_A + B Problem II

来源:互联网 发布:矩阵中span 编辑:程序博客网 时间:2024/05/16 17:16

A + B Problem II

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 223864    Accepted Submission(s): 42945


Problem Description
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.
 

Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.
 

Output
For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases.
 

Sample Input
21 2112233445566778899 998877665544332211
 

Sample Output
Case 1:1 + 2 = 3Case 2:112233445566778899 + 998877665544332211 = 1111111111111111110
 

Author
Ignatius.L
 

Recommend
We have carefully selected several similar problems for you:  1004 1008 1005 1089 1093 
#include<stdio.h>#include<string.h>int main(){    int t,i,j,A[1050],B[1050],C[1050];    char a[1050],b[1050];        while(scanf("%d",&t)!=EOF){                for(i=1;i<=t;i++){            scanf("%s%s",a,b);            printf("Case %d:\n%s + %s = ",i,a,b);            memset(A,0,sizeof(A));            memset(B,0,sizeof(B));            memset(C,0,sizeof(C));                        for(j=1,A[0]=strlen(a);j<=A[0];j++){                A[j]=a[A[0]-j]-'0';            }                        for(j=1,B[0]=strlen(b);j<=B[0];j++){                B[j]=b[B[0]-j]-'0';            }                        for(j=1,C[0]=A[0]>B[0]?A[0]:B[0];j<=C[0];j++){                C[j]+=A[j]+B[j];                C[j+1]+=C[j]/10;                C[j]%=10;                            if(C[C[0]+1]!=0){                    C[0]++;                }                        }                        for(j=C[0];j>=1;j--){                printf("%d",C[j]);            }                        printf("\n");                        if(i!=t){                printf("\n");            }                    }        }        return 0;}
0 0
原创粉丝点击