#P1539. Evaluating Simple C Expressions
Evaluating Simple C Expressions
题目描述
本题要求评估一系列简单的C语言表达式,但解题无需掌握C语言知识!每个表达式独占一行且不超过80个字符。待评估的表达式仅包含整型变量和有限运算符,不含常量。共有26个可能出现的变量,即小写字母a-z(初始值分别为$a=1,b=2,...,z=26$)。每个变量在表达式中最多出现一次,许多变量可能完全不被使用。
运算符说明
- 二元运算符:$+$和$-$,遵循常规运算规则
- 一元运算符:
- $++var$:先自增再参与运算
- $var++$:先参与运算再自增
- $--var$:先自减再参与运算
- $var--$:先参与运算再自减
输入格式
逐行读取表达式,直至遇到空行结束。输入保证:
- 忽略所有空格
- 不会出现$a+++b$这类歧义表达式
- 单个变量不会同时出现前置和后置运算符(如$++a++$)
输出格式
对每个表达式依次输出:
- 原表达式(保留原始格式)
- 表达式计算结果
- 表达式中涉及变量的最终值(未涉及的变量不输出)
样例输入
a + b
b - z
a+b--+c++
c+f--+--a
f-- + c-- + d-++e
样例输出
Expression: a + b
value = 3
a = 1
b = 2
Expression: b - z
value = -24
b = 2
z = 26
Expression: a+b--+c++
value = 6
a = 1
b = 1
c = 4
Expression: c+f--+--a
value = 9
a = 0
c = 3
f = 5
Expression: f-- + c-- + d-++e
value = 7
c = 2
d = 4
e = 6
f = 5
来源
North Central North America 1993