JD--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<cstdio>
#include<cstring>

using namespace std;

long long Trans(string s){
 long long tmp=0;
 for(int i=0;i<s.length();i++){
  if(s[i]=='-'||s[i]==',')
   continue;
  else
   tmp=tmp*10+s[i]-'0';
 }
 if(s[0]=='-')
  tmp=-tmp;
 return tmp;
} 

int main(){
 string s1,s2;
 long long a,b;
 while(cin>>s1>>s2){
  a=Trans(s1);
  b=Trans(s2);
  cout<<a+b<<endl;
 }
 return 0;
}
  • 要表示的数值可能超出int范围,因此用long long表示
  • 使用函数Trans逐个将字符串转为数字,再进行相加。
发布了20 篇原创文章 · 获赞 0 · 访问量 278

猜你喜欢

转载自blog.csdn.net/qq_36393803/article/details/104811866
A+B