首页 > 代码库 > 题目1003:A+B
题目1003:A+B
- 题目描述:
- 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
- 输入:
- 输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
- 输出:
- 请计算A+B的结果,并以正常形式输出,每组数据占一行。
- 样例输入:
-234,567,890 123,456,7891,234 2,345,678
- 样例输出:
-1111111012346912
Code:
#include <iostream>#include <string.h> using namespace std; int func(int x){ int ans=1; for(int i=1;i<=x;i++){ ans*=10; } return ans;} long toLong(char buf[]){ int len=strlen(buf); int cnt=0; long ans=0; int i=len-1; while(i>=1){ if(buf[i]>=‘0‘&&buf[i]<=‘9‘){ ans+=(buf[i]-‘0‘)*func(cnt); ++cnt; } --i; } /*判别是否是负数*/ if(buf[0]==‘-‘){ ans=-ans; } if(buf[0]>=‘0‘&&buf[0]<=‘9‘){ ans+=(buf[i]-‘0‘)*func(cnt); } return ans;} int main(){ char a[15],b[15]; while(cin>>a>>b){ long ans_a=toLong(a); long ans_b=toLong(b); cout<<ans_a+ans_b<<endl; } return 0;} /************************************************************** Problem: 1003 User: lcyvino Language: C++ Result: Accepted Time:0 ms Memory:1520 kb****************************************************************/
题目1003:A+B
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。