早教吧作业答案频道 -->数学-->
如何用数据结构随机输出一个数学表达式,可包括小括号、中括号、+、-、*、\运算,数据可以有整数或小数用户看到这个表达式后,输入结果,程序判别结果是否正确,一题计算一次,直到n个题目
题目详情
如何用数据结构随机输出一个数学表达式,可包括小括号、中括号、+、-、*、\运算,数据可以有整数或小数
用户看到这个表达式后,输入结果,程序判别结果是否正确,一题计算一次,直到n个题目完成.
如果有会的大神还清叙述下总体的算法思想,要是还提供代码的话就更好啦,
用户看到这个表达式后,输入结果,程序判别结果是否正确,一题计算一次,直到n个题目完成.
如果有会的大神还清叙述下总体的算法思想,要是还提供代码的话就更好啦,
▼优质解答
答案和解析
引入“子表达式”概念.
最终表达式可以是如下结构:子表达式 [运算符 子表达式]...
其中,子表达式可以由其它子表达式构成,可以规定其层数(也就是内部可嵌套多少个子表达式),然后根据层数不同和运算符优先度不同(比如加比乘要低)来判断给该子表达式两端添加什么样的括号.
1.主程序随机产生子表达式的个数、层数,然后调用生成子表达式的子程序.
2.生成子表达式的子程序随机生成数字、运算符或调用自身以生成下一层的子表达式.
3.最后返回主程序,生成最终表达式.
时间优先,分数太少,你又不说开发平台和语言,只能如此了……
最终表达式可以是如下结构:子表达式 [运算符 子表达式]...
其中,子表达式可以由其它子表达式构成,可以规定其层数(也就是内部可嵌套多少个子表达式),然后根据层数不同和运算符优先度不同(比如加比乘要低)来判断给该子表达式两端添加什么样的括号.
1.主程序随机产生子表达式的个数、层数,然后调用生成子表达式的子程序.
2.生成子表达式的子程序随机生成数字、运算符或调用自身以生成下一层的子表达式.
3.最后返回主程序,生成最终表达式.
时间优先,分数太少,你又不说开发平台和语言,只能如此了……
看了如何用数据结构随机输出一个数学...的网友还看了以下:
袋有些相同球,其号为1的球1个,号为2的球2个…号为n的球n个.从袋任取一球,其号作随机变量u,u 2020-04-13 …
Word文档里搜索括号里面的内容的问题?有两种括号,一种是用英文输入的括号“()”,一种是用中文输 2020-04-27 …
已知:{an}中,a(n+1)=1/16[1+4an+根号(1+24an)],a1=1,求an.注 2020-05-17 …
求这样一个n位数(>0),它等于其各位数字的阶乘之和.输入位数n,输出所有满足条件的n位数例如,1 2020-06-07 …
1、定义一个N*N的矩阵,输出其对角线元素、上三角矩阵和下三角矩阵;2、编程实现N阶方阵的乘法运算 2020-06-10 …
通信原理平均信息量某信息源的符号集由A、B、C、D和E组成,设每一符号独立出现且出现的概率相同.假 2020-06-26 …
鸡兔同笼描述已知鸡和兔的总数量为n,总腿数为m,输入n和m,输出兔的数目.如果无解,则输出“Noa 2020-07-22 …
求表达式!任意输入一个三位数abc,则由abc如何求出bca?小弟写的:includevoidma 2020-07-23 …
输入一个正整数n(1≤n≤6)再输入一个n行n列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标 2020-07-29 …
输出一个程序,可以使a#(一个新式符号)b=n,得(a+1)#b=n+1,a#(b+1)=n-2,现 2020-11-07 …