首页 > 试题广场 >

简单表达式计算

[编程题]简单表达式计算
  • 热度指数:4581 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个合法的表达式字符串,其中只包含非负整数、加法、减法以及乘法符号(不会有括号),例如7+3*4*5+2+4-3-1,请写程序计算该表达式的结果并输出;


输入描述:
输入有多行,每行是一个表达式,输入以END作为结束


输出描述:
每行表达式的计算结果
示例1

输入

7+3*4*5+2+4-3-1
2-3*1
END

输出

69
-1

备注:
每个表达式的长度不超过10000,保证所有中间结果和最后结果在[-2e9,2e9]范围内
头像 白伟仝
发表于 2020-05-10 16:29:58
用split先按+-号断开,再各按*/号断开 import java.util.*; public class Main{ public static int f(String str){ String[] v = str.split("[*/]");//先算乘除法 展开全文
头像 dvs
发表于 2024-07-21 19:36:39
# 读入表达式,调用eval函数,三行搞定。 import sys inp = sys.stdin.read().strip().split("\n")[:-1] for s in inp: print(eval(s)) # def calc(a, b, op): # 展开全文
头像 循环沙漏
发表于 2022-04-09 01:12:40
固定思路解决固定问题,还是有点代码量的。属于力扣224号题的简化版本。 #include <iostream> #include <vector> #include <stack> #include <string> #include <unor 展开全文
头像 牛客573675571号
发表于 2021-09-20 01:43:07
后缀表达式全忘了,看了看题解,注释瞎写写,这题就过了 package main import( "fmt" "bufio" "os" "strconv" ) var r *bufio. 展开全文
头像 laglangyue
发表于 2020-06-08 21:46:54
if-else疯狂判断 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Sta 展开全文
头像 bandiaoz
发表于 2024-12-23 14:21:24
解题思路 本题要求计算只包含非负整数、加法、减法和乘法的表达式。主要思路如下: 从右向左扫描表达式,这样可以方便处理乘法的优先级 用变量 记录当前数字需要乘的因子(处理乘法) 遇到加号和减号时,将当前累积的结果与答案合并 遇到乘号时,更新乘法因子 最后处理表达式最左边的数字 代码 cp 展开全文
头像 贪吃的迪恩顶呱呱
发表于 2024-05-14 12:59:05
#include <iostream> #include <stack> #include <string> using namespace std; // 计算两个数的运算结果 int calculate(int a, int b, char op) { 展开全文
头像 来泡池子了的鳄鱼很谦虚
发表于 2024-04-27 10:54:14
思路把字符串用 + 和 - 号分成 多个字符串 分开的字符串中,只有*号。使用 split 将字符串拆分然后计算,返回题目数据没考虑受字符为运算符。 import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public cla 展开全文

热门推荐

通过挑战的用户

查看代码
简单表达式计算