任务36:表达式的输入、转换与计算
·问题描述
表达式2*(9+6/3-5)+4,称为中缀表达式,表示成2 9 6 3 / + 5 - * 4 +称为后缀表达式,表示成+ * 2 - + 9 / 6 3 5 4称为前缀表达式。
·基本要求
将中缀表达式,转换为后缀表达式和前缀表达式,再分别计算转换后的表达式值,比较两个计算结果,判断转换正确性和计算正确性。
·编程
(1)读入中缀表达式,表达式的数据可以是实型、整型;
(2)转换为后缀表达式,输出和保存;
(3)转换为前缀表达式,输出和保存;
(4)完成后缀和前缀表达式的计算,输出和比较计算结果,判断处理的正确性;
·输出要求与格式
按字符串格式输入中缀表达式,如2.85*(9.3+6.4/2-5.13)+4.412
·输出要求与格式
输出转换后的后缀、前缀表达式;
完成计算,输出计算结果,和比较结论;
·测试说明
测试表达式的形式要完全,以保证程序对各种形式的表达式均能完成指定功能。例如
(1)4.5+3.6-2;——测试同一计算的先左后右计算规则;
(2)4.5/5*6/3;——测试同一计算的先左后右计算规则;
(3)2.85*(9.3+6.4/2-5.13)+4.412;——测试带括号的计算计算规则;
(4)(9.3+6.4/2-5.13)*2.85+4.412;——测试括号可以出现的位置;
(5)4.41-2.85*(9.3+6.4/2-5.13);——测试括号可以出现的位置;
(6)-4.41-2.85*(9.3+6.4/2-5.13);——测试是否支持单目运算;
评论0
最新资源