早教吧作业答案频道 -->数学-->
在C#混合运算中的括号怎么处理?
题目详情
在C#混合运算中的括号怎么处理?
▼优质解答
答案和解析
我们建立两个栈,一个是数据栈,一个是计算符号栈,以(6+2*5)/4为例子,看看倒底是怎么计算的.
假设:
1)优先级
符号之间的优先级如下:
“(“ “)” -1
“+”,”-” 0
“*”,”/” 1
数值越大,则越优先,同级别的比较时 先出现的优先.
2)将”(”,”)”设为特殊运算符,即单目运算,两邻两个运算符则可对消.
3) 计算条件
(1) 当前运算符不等于“”(特殊结束符)
(2) 运算符栈里的运行算个数>=1时
(3) 出栈口的运算符优先级高于将要入栈的运算符时或者两者可对消时.
计算时,则将符号出栈参与计算,数值栈的出栈口前两位元素出栈参与计算,计算结果值向数值栈压栈,并进行递归此操作.
图1:
1) “(” 压入符号栈 2 ) “6”压入数值栈
3) “(”与”+”比较优先级,认为”(”比”+”优先级低,则不满足计算条件,将”+”压入符号栈.
图2:
1) 将”2” 压入数值栈.
2) 将”*”与”+”比较优先级,算得”+”优先级低于”*”,则不满足计算条件,将”*”压入符号栈.
图3:
1) 将 “5”压入数植栈. 2) 将“*“与”)”比较优先级,得出”*”比”)”优先级要高.进行计算,将”*”出栈、”5”、”2”出栈,参与计算
图4:
1) 将 2*5 =10的结果压入数值栈.
2) (递归)比较 “+”与”)”优先级,得出”+”比”)”优先级要高.再进行计算,将”+”出栈、”10”、”6”出栈,参与计算.
图 5:
1) 将 6+10 =16的结果压入数值栈.
2) (递归)比较 “)”与”(”优先级,得出两者可以对消,将”(”符号出栈,与”)”对消,继续取下一个符号.
图6:
1) 将”/”入符号栈.
2)将”4”入数值栈.
3) 发现””算式结束符,则进行计算, 将 “/”、”4’、”16”出栈,参与计算.
图7:
1) 将计算结果压入数值栈.
同学,它山之石.百度“C#混合运算”,答案很多.
假设:
1)优先级
符号之间的优先级如下:
“(“ “)” -1
“+”,”-” 0
“*”,”/” 1
数值越大,则越优先,同级别的比较时 先出现的优先.
2)将”(”,”)”设为特殊运算符,即单目运算,两邻两个运算符则可对消.
3) 计算条件
(1) 当前运算符不等于“”(特殊结束符)
(2) 运算符栈里的运行算个数>=1时
(3) 出栈口的运算符优先级高于将要入栈的运算符时或者两者可对消时.
计算时,则将符号出栈参与计算,数值栈的出栈口前两位元素出栈参与计算,计算结果值向数值栈压栈,并进行递归此操作.
图1:
1) “(” 压入符号栈 2 ) “6”压入数值栈
3) “(”与”+”比较优先级,认为”(”比”+”优先级低,则不满足计算条件,将”+”压入符号栈.
图2:
1) 将”2” 压入数值栈.
2) 将”*”与”+”比较优先级,算得”+”优先级低于”*”,则不满足计算条件,将”*”压入符号栈.
图3:
1) 将 “5”压入数植栈. 2) 将“*“与”)”比较优先级,得出”*”比”)”优先级要高.进行计算,将”*”出栈、”5”、”2”出栈,参与计算
图4:
1) 将 2*5 =10的结果压入数值栈.
2) (递归)比较 “+”与”)”优先级,得出”+”比”)”优先级要高.再进行计算,将”+”出栈、”10”、”6”出栈,参与计算.
图 5:
1) 将 6+10 =16的结果压入数值栈.
2) (递归)比较 “)”与”(”优先级,得出两者可以对消,将”(”符号出栈,与”)”对消,继续取下一个符号.
图6:
1) 将”/”入符号栈.
2)将”4”入数值栈.
3) 发现””算式结束符,则进行计算, 将 “/”、”4’、”16”出栈,参与计算.
图7:
1) 将计算结果压入数值栈.
同学,它山之石.百度“C#混合运算”,答案很多.
看了 在C#混合运算中的括号怎么处...的网友还看了以下:
用英语写一篇文章,包括在那个时候,用过去进行时态!用英语写一篇文章(关于2004年雅典奥运会),包 2020-04-08 …
匀速直线运动所受合外力为0应该是静止,但为什么还在运动 2020-05-17 …
在运输过程中,这个带子可能会在产品的表面留下压痕,从而影响外观,用英语怎么说?在运输过程中,这个带 2020-05-22 …
运输合同包括海运提单、陆空运单、邮单等运输单证,( )是证明被保险货物在交给承运人时状况的依据 2020-05-22 …
英法联军闯进圆明园后是怎么做的?请用文中的词语概括.1860年10月6日,英法联军侵入北京,闯进圆 2020-06-10 …
2.下列运输业务中,属于营改增征税范围的有?A公路运输服务B索道运输服务C水路运输服务D铁路运输服 2020-06-27 …
取得发票的运输费怎么就不包括在销售额内了呢?下列项目不包括在销售额内:(二)同时符合以下条件的代垫 2020-06-27 …
为什么在做简谐运动的题时,“在计算拉力时,不能将始终沿悬线方向的力(法线方向)包括在内.” 2020-06-29 …
一个运输队承包运输1998套玻璃茶具.运输合同规定:每套茶具运费1.6元,每损坏一套茶具,不仅不得 2020-07-25 …
一物体正向运动1,再向负方向运动2,他的位移就是负1位移方向就是负,那么他的运动方向是怎样的?书上 2020-07-31 …
相关搜索:在C#混合运算中的括号怎么处理