4663 - 简单算术题

题目描述

给定一道没有括号的四则混合运算算术题(可能包含多余的空格),请编程计算出结果。运算规则如下:

  1. 既有乘、除法又有加、减法的,要先算乘除法,再算加减法;
  2. 同级运算时,要从左往右按顺序计算;
  3. 所有除法运算的结果都只保留整数部分(直接舍弃小数部分)。

例如:当算术题为 \tt{2 + 3*4 - 10/6 + 1/2*4} 时:

  • 优先计算乘除法,有 \tt{3*4=12}\tt{10/6=1}\tt{1/2*4=0}
  • 然后计算加减法,\tt{2+3*4-10/6+1/2*4} = \tt{2+12-1+0} = \tt{13},故输出 13
输入

输入一个字符串,表示算术题:

  • 字符串长度 5 \leq 长度 \leq 100000
  • 字符串中只包含数字字符以及 \tt{+}\tt{-}\tt{*}\tt{/} 运算符;
  • 不含括号,可能包含空格;
  • 算式中的运算数范围:1 \leq 运算数 \leq 200
输出

输出一个整数,表示算术题的计算结果。题目数据保证算式的每一步运算的结果都在 -2 \times 10^9 \sim 2 \times 10^9 之间。

样例

输入

2+3*4-10/6+1/2*4

输出

13
来源

蓝桥杯十四届国赛C++试卷

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 4
通过人数 3
金币数量 1 枚
难度 基础


上一题 下一题