zoukankan      html  css  js  c++  java
  • A + B Problem II

    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

    2 1 2 112233445566778899 998877665544332211

     Sample Output

    Case 1: 1 + 2 = 3

    Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110

     Author

     Ignatius.L

    代码:c++

    #include<iostream>

    #include<string> using namespace std;

    int main()

    {  void sum(string &a,string &b,string &c);

     int n;  

    cin>>n;//输入

     for(int i=1;i<=n;i++)  

    {   string a,b,c;  

     cin>>a>>b;  

     sum(a,b,c);  

     if(i>1)   

    {   

    cout<<" Case "<<i<<":"<<endl;  

     cout<<a<<" + "<<b<<" = "<<c<<endl;  

     }   

    else   {   

     cout<<"Case "<<i<<":"<<endl;   

    cout<<a<<" + "<<b<<" = "<<c<<endl;         }

         }

    return 0;

    }

    void sum(string &a,string &b,string &c)//采用引用方便结果存储

    {  int la,lb;

     int sum=0;

     char d;

     la=a.length()-1;

     lb=b.length()-1;

     for(;la>=0&&lb>=0;la--,lb--)  

    {    sum=sum+a[la]-'0'+b[lb]-'0';//从尾部加起 即低位相加   

    d=sum%10+'0';   

    c.insert(0,d);//采用头插法,把底位的和记录  

     sum=sum/10;//记录进位  }

     while(la>=0)//判断加完没有

     {      sum=sum+a[la--]-'0';   d=sum%10+'0';   sum=sum/10;   c.insert(0,d);       }

     while(lb>=0)//判断加完没有

     {      sum=sum+b[lb--]-'0';   d=sum%10+'0';   sum=sum/10;   c.insert(0,d);       }

    }

  • 相关阅读:
    inux下tcpdump命令的使用
    git的命令行输出正确地显示中文文件名
    mysql权限修改记录
    Linux日常之以当前时间命名文件
    Linux 设置定时任务crontab命令
    (转)NodeJS
    (转)NodeJS收发GET和POST请求
    nodejs入门最简单例子
    「网易官方」极客战记(codecombat)攻略-游戏开发2-瓶颈-chokepoint
    「网易官方」极客战记(codecombat)攻略-游戏开发2-中心队形-center-formation
  • 原文地址:https://www.cnblogs.com/2013lzm/p/3188163.html
Copyright © 2011-2022 走看看