题目1003:A+B
- 题目描述:
-
给定两个整数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
-
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 ****************************************************************/