注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

长风明志的博客

不要也不能做下一个谁,应该且可以做第一个自己

 
 
 

日志

 
 

Jobdu 1003:A+B  

2012-08-31 12:47:13|  分类: ACM |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1 秒

内存限制:32 兆

特殊判题:

提交:3986

解决:1638

题目描述:
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。

输入:
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。

输出:
请计算A+B的结果,并以正常形式输出,每组数据占一行。

样例输入:
-234,567,890 123,456,789 1,234 2,345,678
样例输出:
-111111101 2346912
//以下是个人的粗糙代码,有待改进,仅供参考
 
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
void extract(string& A,string& B)  //提取出A,B字符串中的逗号','
{
   string::iterator it1,it2;
   for(it1=A.begin();it1<A.end();it1++)
   {
      if(*it1==',')
         A.erase(it1);   
   }
   for(it2=B.begin();it2<B.end();it2++)
   {
      if(*it2==',')
         B.erase(it2);
   }
}
int main()
{
   string A,B;
   long a,b,result;
   int i;
   while(cin>>A>>B)
   {
      a=b=result=0;
      extract(A,B);
      for(i=A.size()-1;i>=0;i--)
      {
          if(A[i]!='-')
          {
             a+=(A[i]-'0')*pow(10,(A.size()-1-i));
          }
      }
      if(A[0]=='-')
          a*=-1;
      for(i=B.size()-1;i>=0;i--)
      {
          if(B[i]!='-')
          {
             b+=(B[i]-'0')*pow(10,(B.size()-1-i));
          }
      }
      if(B[0]=='-')
          b*=-1;
      result=a+b;
      cout<<result<<endl;
       
   }
   return 0;
}
/**************************************************************
    Problem: 1003
    User: 长风明志
    Language: C++
    Result: Accepted
    Time:10 ms
    Memory:1604 kb
****************************************************************/

  评论这张
 
阅读(515)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017