如何用数据结构随机输出一个数学表达式,可包括小括号、中括号、+、-、*、\运算,数据可以有整数或小数
用户看到这个表达式后,输入结果,程序判别结果是否正确,一题计算一次,直到n个题目完成.
如果有会的大神还清叙述下总体的算法思想,要是还提供代码的话就更好啦,
人气:269 ℃ 时间:2019-08-21 01:34:51
解答
引入“子表达式”概念.
最终表达式可以是如下结构:子表达式 [运算符 子表达式]...
其中,子表达式可以由其它子表达式构成,可以规定其层数(也就是内部可嵌套多少个子表达式),然后根据层数不同和运算符优先度不同(比如加比乘要低)来判断给该子表达式两端添加什么样的括号.
1.主程序随机产生子表达式的个数、层数,然后调用生成子表达式的子程序.
2.生成子表达式的子程序随机生成数字、运算符或调用自身以生成下一层的子表达式.
3.最后返回主程序,生成最终表达式.
时间优先,分数太少,你又不说开发平台和语言,只能如此了……
推荐
猜你喜欢
- 1个球形肥皂泡,质量为m,其内.
- 75比50多()%
- 急用!描写景色的语段,什么的都要,夜空的,月亮的,青竹的还有其他的……拜托了,
- 《1》一个数的五倍是十三分之十,这个数是( )
- 求七年级课内外文言文1至8页
- the plan was set aside.可不可以这样说?
- 已知点A(—2,—C)向右移8个单位得到点A一撇,A与A一撇两点均在抛物线Y=ax的平方+bx+c上,
- He read fewer books than I in Reading Week.(同义句) He ——read—— —— books— I in Reading Week