洛谷 P2788 数学1(math1)- 加减算式
2017-12-13 11:01
489 查看
水题一道 也是第一篇博客
欢迎大牛来喷
思路非常简单
把字符串拆为单个数字 譬如算式1+2-3+1998可以拆为1,+2,-3,+1998
将各个数字单独转换为int型
最后求和
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
char a[60010];//注意字符串范围
int main()
{
cin>>a;
int flag=strlen(a)-1,tmp,ts=0;
long long sum=0;
while(flag>=0)
{
tmp=flag;
for(flag;flag>=0&&a[flag]>='0'&&a[flag]<='9';flag--);//从后遍历 flag是符号下标 flag+1是数字第一位下标 tmp是数字最后一位下标
for(int i=tmp,j=0;i>flag;i--,j++)
{
ts+=(a[i]-'0')*pow(10,j);//将字符型数转换为整形数字和
}
if(a[flag]=='-') //注意 如果flag=0时要么是数字要么是 - 号 不会有正号 正数直接交给else处理
sum-=ts;
else
sum+=ts;
ts=0;
flag--;
}
cout<<sum<<endl;
return 0;
}
相关文章推荐
- JavaScript中的Date日期、String字符串、Array数组、Math提供对数据的数学计算
- 开源Math.NET基础数学类库使用(10)C#进行基本数据统计
- MATH.H里的一些数学计算的公式
- Math(数学对象)
- Why Study Math 为什么学习数学
- 【洛谷P1962 斐波那契数列】矩阵快速幂+数学推导
- hdu 5675 ztr loves math(数学)
- 洛谷 数学问题专题 三国游戏
- 洛谷 红魔馆OI 妖梦拼木棒 [组合数学]
- Math:处理数学计算的工具
- [LeetCode刷题笔记]Math数学类型题目(一)重写基本运算符
- (打表或数学)HDU 6063 RXD and math
- BZOJ3505 & 洛谷P3166 [Cqoi2014]数三角形 【数学、数论】
- 【NOI2014模拟7.11】数学题(math)
- 数学计算:Math,round四色五入用法
- Math及一些数学类的一些用法
- C#数学计算包 Math.NET
- 洛谷 P3708 koishi的数学题
- 【原创】开源Math.NET基础数学类库使用(09)相关数论函数使用
- Math:类包含用于执行基本数学运算的方法