如何用数据结构随机输出一个数学表达式,可包括小括号、中括号、+、-、*、运算,数据可以有整数或小数
题目
如何用数据结构随机输出一个数学表达式,可包括小括号、中括号、+、-、*、运算,数据可以有整数或小数
用户看到这个表达式后,输入结果,程序判别结果是否正确,一题计算一次,直到n个题目完成.
如果有会的大神还清叙述下总体的算法思想,要是还提供代码的话就更好啦,
答案
引入“子表达式”概念.
最终表达式可以是如下结构:子表达式 [运算符 子表达式]...
其中,子表达式可以由其它子表达式构成,可以规定其层数(也就是内部可嵌套多少个子表达式),然后根据层数不同和运算符优先度不同(比如加比乘要低)来判断给该子表达式两端添加什么样的括号.
1.主程序随机产生子表达式的个数、层数,然后调用生成子表达式的子程序.
2.生成子表达式的子程序随机生成数字、运算符或调用自身以生成下一层的子表达式.
3.最后返回主程序,生成最终表达式.
时间优先,分数太少,你又不说开发平台和语言,只能如此了……
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 学校食堂400千克大米,第一次用去总数的3/8,第二次用去总数的1/4.两次一共用去多少千克?(方程解)
- 1.We have received your proof of claim for the case(s) referenced below
- -1,2,-3,4,-5,6··· 排成:-1 2 -3 4 -5 6 -7 8 -9 10 -11 12 -13 14 -15 16······第20第3个数是?
- 1.-Your mobile phone looks nice.How much is it?-It ___ me $800.
- 2.75吨等于几分之几吨?
- 英语翻译
- Food can be produced much more cheaply today because of improved fertilizers and better machinery o
- 给下面的句子加不同的标点,使它们表示不同的意思.① 你 同 意 他 不 同 意 (我同意别人不同意)
- 请以x=-1 y=-2 写出一个二元一次方程
- n阶方阵A,B,有A+B=kE.证:r(A)+r(B)大于等于n
热门考点