博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-3787(字符串模拟)
阅读量:6613 次
发布时间:2019-06-24

本文共 1425 字,大约阅读时间需要 4 分钟。

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

 

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

 

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

 

Sample Input
-234,567,890 123,456,789 1,234 2,345,678
 

 

Sample Output
-111111101 2346912

思路:
字符串模拟,做好相应的字符转换就好

#include 
#include
#include
#include
using namespace std;int main(){ string num1,num2; while(cin>>num1>>num2) { //判断正负号 int flag1 = 1,flag2 = 1; if(num1[0] == '-') flag1 = -1; if(num2[0] == '-') flag2 = -1; //判断两数字的长度 int len1=0,len2=0; for(int i = 0;i < num1.length();i++) if(num1[i]>='0'&&num1[i]<='9') len1++; for(int i = 0;i < num2.length();i++) if(num2[i]>='0'&&num2[i]<='9') len2++; //分别求出两个数的绝对值 __int64 number1=0,number2=0; for(int i = 0;i < num1.length();i++) { if(num1[i]>='0'&&num1[i]<='9') { number1 += (num1[i]-'0')*pow(10,--len1); } } for(int i = 0;i < num2.length();i++) { if(num2[i]>='0'&&num2[i]<='9') { number2 += (num2[i]-'0')*pow(10,--len2); } } number1 *= flag1; number2 *= flag2; printf("%I64d\n",number1+number2); } return 0;}

转载于:https://www.cnblogs.com/immortal-worm/p/5031795.html

你可能感兴趣的文章
Tensorflow在win10下的安装(CPU版本)
查看>>
嵌入式平台做深度学习算法,不可不重视的4件事
查看>>
一次优化记录
查看>>
如何调用一个数据完整的firefox浏览器
查看>>
cgroup代码浅析(2)
查看>>
会计的思考(42):会计如何转变为公司的内部财务顾问
查看>>
利用钥匙串,在应用里保存用户密码的方法
查看>>
final,finally和finalize之间的区别
查看>>
python 装饰器
查看>>
[辟谣]下蹲猛起来眼前发黑是心脏衰竭的表现?别扯了!
查看>>
paper 96:计算机视觉-机器学习近年部分综述
查看>>
vuex状态管理详细使用方法
查看>>
不要等有了足够的钱才选择去创业!!!
查看>>
手把手教你画嘴巴,以后再也不怕画嘴巴了
查看>>
selenium - webdriver - 截图方法get_screenshot_as_file()
查看>>
linux 命令 — archive
查看>>
强大的jQuery网格插件 ParamQuery
查看>>
io.lettuce.core.RedisCommandTimeoutException: Command timed out
查看>>
种子填充算法描述及C++代码实现
查看>>
Kali渗透测试——快速查找Metasploit的模块
查看>>