文件名称:简单C表达式的计算,看似简单,实际要求掌握的知识很多
文件大小:11KB
文件格式:RAR
更新时间:2012-05-06 13:20:11
C表达式
本题要完成的是一组简单C表达的运算。所有表达式存放在文件 CExpression.txt 中,每个表达式一行。每行的长度不会超过80个字符。文件最后有一个空行表示结束。 每个表达式,只包含简单的整数变量和限定的一些操作符,表达式中没有常量。总共有26个可能出现在表达式中的变量,分别命名为 a,b,...,z。每个变量最多出现一次。26个变量的初值分别为1,2,...,26。 表达式中的操作符,包括:两个二元操作符 +, -,表示加,减运算。例如,表达式a+c-d+b(即1+3-4+2)的结果为2。 单独一个-号不能放在变量前面,表示负数。 表达式中还包含两个一元运算符:++,--,表示加一和减一运算。它们既可以出现在一个变量的前面、也可以出现在后面。如果出现在变量前面,则表示先对变量进行加一/减一运算,然后变量值参与表达式计算。如果出现在变量后面,则表示变量的原值参与表达式计算,表达式计算完之后,变量值加一/减一。 例如,表达式 -- c + b-- 的结果为 4, 表达式计算完之后, b,c的值分别为1,2 输出格式要求:输出直接显示在屏幕上。对于每个表达式,第一行输出表达式的内容。第二行输出表达式的值,后面几行输出参与运算的各个变量的结果值。 其它说明: (1) 如果表达式中存在空格则忽略。 (2) 每个表达式独立计算,即前面的表达式运算结果不影响后面的表达式。 (3) 对于错误的输入(如有歧义的表达式,a+++b), 直接输出一行"expression error"即可。输入正确性校验,不作为主要评判标准(即可以给出错误答案)。但不应导致程序运行错误。 示例输入: a + b b - z a+b--+c++ c+f--+--a f--+c--+d-++e ++a++ 对应输出: 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 Expression: ++a++ expression error
【文件预览】:
zy_3_simple_expression
----zy_3_simple_expression.ncb(57KB)
----CExpression.txt(85B)
----zy_3_simple_expression.plg(5KB)
----zy_3_simple_expression.dsp(5KB)
----CExpression_out.txt(410B)
----simple_expression.cpp(3KB)
----cyio.h(3KB)
----zy_3_simple_expression.opt(50KB)
----Debug()
----zy_3_simple_expression.dsw(552B)