首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
admin
2019-01-16
35
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
选项
答案
逆波兰表达式(即后缀表达式)求值规则如下:设立运算数栈OPND,对表达式从左到右扫描(读入),当表达式中扫描到数时,压入OPND栈。当扫描到运算符时,从OPND退出两个数,进行相应运算,结果再压入OPND栈。这个过程一直进行到读出表达式结束符$,这时OPND栈中只有一个数,就是结果。 float expr(){ //从键盘输入逆波兰表达式,以’$’表示输入结束,本算法求逆波兰表达式的值 float OPND[30]; //OPND是操作数栈 init(OPND): //两栈初始化 float num=0.0: //数字初始化 scanf(”%C”,&x); //x是字符型变量 while(X!=’$’){ switch(x){ case’0’: case’1’: caSe’2’: case’3’: case’4’: case’5’: case’6’: case’7’: case’8’: caSe’9’: while((x>=’0’&&x<=’9’)||X==.’)//拼数 if(X!=’.’){num=num * 10+(ord(X)-ord(’0’));scanf(”%c”,&x);}//处理整数 else{ //处理小数部分 scale=10.0:scanf(”%c”,&x); while(x>=’0’&&x<=’9’){ num=num+(ord(X)一ord(’0’))/scale: scale=scale * 10;scanf(”%c”,&x); } }//else push(OPND,num);num=0.0; //数压入栈,下个数初始化 case’’:break: //遇空格,继续读下一个字符 case’+’:push(OPND,pop(OPND)+pop(OPND));break; case’一’:xl=pop(OPND);x2=pop(OPND);push(OPND,x2一x1);break; case’*’:push(OPND,pop(OPND)*pop(OPND)):break; case ’/’:xl:pop(OPND);x2=pop(OPND);push(OPND,x2/x1);break; default: //其他符号不作处理 }//结束switch scanf(”%c”,&x); //读入表达式中下一个字符 }//结束while(x!=’$’) prinff("后缀表达式的值为%f");pop(OPND); }
解析
转载请注明原文地址:https://kaotiyun.com/show/XiRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
《关于建国以来党的若干历史问题的决议》
斯大林模式的突出特点是()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
洪秀全以宗教手段组织起义,主要利用的是()。
19世纪晚期,在侵略非洲的过程中,几次入侵连遭失败,最后彻底战败的帝国主义国家是()。
第三次科技革命对社会经济结构的影响是()。
8世纪中期,控制东自黑龙江,西到阿尔泰山广大地区的民族是()。
三国时期,三国称帝的先后顺序是()。
(1)以太网采用了曼彻斯特编码,一个比特的数据需要两个信号来传输,那么为了达到100Mbps的数据传送速率,需要线路达到200Mbps的带宽。(2)以太网的最小帧长度是64字节,那么发送一个最小帧需要的时间T1=64×8/(100×106),
CISC与RISC的区别表现在()。
随机试题
Astechnologytranscendsnationalboundariesanddemystifies(使明白)cultures,andthespeedofflighttranscendsthespeedofsoun
出血性和坏死性胰腺炎并发休克的原因是
肺痈溃脓期治疗主方是
下列哪些因素可诱发强心苷中毒
2005年全国1%人口抽样调查主要数据公报显示,同2000年第五次全国人口普查相比,2005年具有大学教育程度的人口增加2193万人:具有高中教育程度的人口增加974万人;具有初中教育程度的人口增加3746万人:具有小学教育程度的人口减少4485万人。20
人民代表大会制度是我国人民民主专政的:
国民政府自抗战以来在政策上有重要转变的标()
设A是n(n>1)阶方阵,ξ1,ξ2,…,ξn是n维列向量,已知Aξ1=ξ2,Aξ2=ξ3,…,Aξn一1=ξn,Aξn=0,且ξn≠0.(Ⅰ)证明ξ1,ξ2,…,ξn线性无关;(Ⅱ)求Ax=0的通解;(Ⅲ)求出A的全部特征值和特征向量,并证明A不可
Impatiencecharacterizesyoungintellectualworkers.Theywanttomaketheirmark(31).Soit’simportanttoget(32)tothemin
Wouldyoupleasebringmesome______catalogues?Thesearetooold.
最新回复
(
0
)