1003.A+B
Posted bernieloveslife
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
#include<iostream> #include<cstring> using namespace std; int change(string s){ int num=0,i; if(s[0]!=‘-‘){ if(s.size()<=3) { for(i=0;i<s.size();i++){ num=num*10+(s[i]-‘0‘); } } else if(s.size()<=7){ int pos=s.find(‘,‘); for(i=0;i<pos;i++){ num=num*10+(s[i]-‘0‘); } num*=1000; int num1=0; for(i=pos+1;i<s.size();i++){ num1=num1*10+(s[i]-‘0‘); } num+=num1; } else { int pos=s.find(‘,‘); for(i=0;i<pos;i++){ num=num*10+(s[i]-‘0‘); } int num1=0,num2=0; num*=1000000; for(i=pos+1;i<pos+4;i++){ num1=num1*10+(s[i]-‘0‘); } for(i=pos+5;i<s.size();i++){ num2=num2*10+(s[i]-‘0‘); } num=num+num1*1000+num2; } } else { s=s.substr(1,s.size()-1); if(s.size()<=3) { for(i=0;i<s.size();i++){ num=num*10+(s[i]-‘0‘); } } else if(s.size()<=7){ int pos=s.find(‘,‘); for(i=0;i<pos;i++){ num=num*10+(s[i]-‘0‘); } num*=1000; int num1=0; for(i=pos+1;i<s.size();i++){ num1=num1*10+(s[i]-‘0‘); } num+=num1; } else { int pos=s.find(‘,‘); for(i=0;i<pos;i++){ num=num*10+(s[i]-‘0‘); } int num1=0,num2=0; num*=1000000; for(i=pos+1;i<pos+4;i++){ num1=num1*10+(s[i]-‘0‘); } for(i=pos+5;i<s.size();i++){ num2=num2*10+(s[i]-‘0‘); } num=num+num1*1000+num2; } num=0-num; } return num; } int main(){ string a,b; while(cin>>a>>b){ int c=change(a)+change(b); cout<<c<<endl; } return 0; }
以上是关于1003.A+B的主要内容,如果未能解决你的问题,请参考以下文章