• J


    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

    2
    1 2
    112233445566778899 998877665544332211
                    

    Sample Output

    Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110
     
     
    #include<iostream>
    #include<stdio.h>
    #include<cmath>
    #include<string.h>
    using namespace std;
    int f(char a[],char b[],int s[])
    {
        int m=strlen(a),n=strlen(b),i,x[1005],y[1005],k;
        memset(x,0,sizeof(x));
        memset(y,0,sizeof(y));
        k=max(m,n);
        if(m==k){
            for(i=0;i<m;i++)x[i]=a[i]-'0';
            for(i=m-1;i>=m-n;i--)y[i]=b[n-m+i]-'0';
        }
        if(n==k){
            for(i=0;i<n;i++)y[i]=b[i]-'0';
            for(i=n-1;i>=n-m;i--)x[i]=a[m-n+i]-'0';
        }
        s[0]=0;
        for(i=1;i<k+1;i++)s[i]=x[i-1]+y[i-1];
        for(i=k;i>=0;i--){
            if(s[i]>9){
                s[i]-=10;
                s[i-1]++;
            }
        }
        return k;
    }
    int main()
    {
        char a[1005],b[1005];
        int n,k=1;
        cin>>n;
        while(k<=n){
            cin>>a>>b;
            cout<<"Case "<<k<<":"<<endl;
            cout<<a<<" + "<<b<<" = ";
            int s[1005];
            int t=f(a,b,s);
            for(int i=0;i<t+1;i++){
                if(s[0]==0&&i==0)continue;
                cout<<s[i];
            }
            if(k!=n)cout<<endl;
            cout<<endl;
            k++;
        }
        //system("pause");
        return 0;
    }

     格式错误好几次

  • 相关阅读:
    计算机组成原理:“性能”是什么?
    试题 基础练习 Huffuman树
    最小堆的插入删除函数
    特殊函数
    进程控制
    进程的描述
    进程管理
    生成和配置Linux操作系统
    系统调用
    Shell脚本编程
  • 原文地址:https://www.cnblogs.com/farewell-farewell/p/5185368.html
Copyright © 2020-2023  润新知