首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算,例如:234—34+2* $。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算,例如:234—34+2* $。
admin
2016-03-29
36
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算,例如:234—34+2* $。
选项
答案
逆波兰表达式(即后缀表达式)求值规则如下:设立运算数栈OPND,对表达式从左到右扫描(读入),当表达式中扫描到数时,压入OPND栈。当扫描到运算符时,从OPND退出两个数,进行相应运算,结果再压入OPND栈。这个过程一直进行到读出表达式结束符$,这时OPND栈中只有一个数,就是结果。 float expr(){ //从键盘输入逆波兰表达式,以’$’表示输入结束,本算法求逆波兰表达式的值 float OPND[30]; //OPND是操作数栈 init(OPND); //两栈初始化 float num=0.0; //数字初始化 scanf(”%e”,&x); //x是字符型变量 while(X!=’$’){ switch(x){ case‘0’. case’1’: case’2’: case ’3’: case’4’: case’5’: ease ’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; ease ’/’:xl=pop(OPND);x2=pop(OPND); push(OPND,x2/x1);break; default: //其他符号不作处理 }//结束switch seanf(”%c”,&x); //读入表达式中下一个字符 }//结束while(x!=’$’) pfintf(”后缀表达式的值为%f’’);pop(OPND); } 提示:假设输入的后缀表达式是正确的,未作错误检查。算法中拼数部分是核心。若遇到大于等于’0’且小于等于’9’的字符,认为是数。这种字符的序号减去字符’0’的序号得出数。对于整数,每读入一个数字字符,前面得到的部分数要乘上10再加新读入的数得到新的部分数。当读到小数点时,认为数的整数部分已完,要接着处理小数部分。小数部分的数要除以10(或10的幂数)变成十分位、百分位、千分位数等,与前面部分数相加。在拼数过程中,若遇非数字字符,表示数已拼完,将数压入栈中,并且将变量num恢复为0,准备下一个数。这时对新读入的字符进入’+’、’一、’*’、’/’及空格的判断,因此在结束处理数字字符的case后,不能加入:break语句。
解析
转载请注明原文地址:https://kaotiyun.com/show/jnRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
三国时期,魏、蜀、吴灭亡的先后顺序是()。
试述欧美盟国对德、日法西斯处置的异同,并分析这种现象的原因及影响。
阅读材料,回答以下问题:一、大清帝国之皇统,万世不易。二、皇帝神圣,不可侵犯。三、皇帝权以宪法规定为限。四、皇帝继承之顺序,于宪法规定之。五、宪法由资政院起草议决,皇帝颁布之。六、宪政改正提案权,属于国会。七、上院议员,由国民于法定特别资格公选之。八、总
五四运动爆发后,国内很快出现亲俄“狂飙”和宣传社会主义的浪潮,研究系和国民党人的一些刊物也积极宣传社会主义。引发这一现象的直接原因是()
一个TCP连接总是以1KB的最大段发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是
假设系统的所有资源是同类型的,系统中的进程每次申请资源数最多1个,那么,下面列出的4种情况中,()可能发生死锁。情况序号系统中进程数资源总量
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
桌上有一空盘,只允许放入一个水果。爸爸专向盘中放苹果,妈妈专向盘中放橘子,女儿专等着吃盘中的苹果,儿子专等着吃盘中的橘子。试用P,V原语实现爸爸、妈妈、儿子和女儿间能同步的程序。
就绪队列中有n个进程等待使用一个CPU,那么,如果采用不同的调用算法,就有()种调度顺序。
假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。设某单面磁盘旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁
随机试题
板桩建筑物锚碇系统拉杆安装时,在满足条件()后,方可张紧拉杆。
PreparingtheChineseNewYear①OfallthetraditionalChinesefestivals,theNewYearisthemostelaborate,colorful,and
I’mverymuchobligedtoyou______theinformation.
防止高频电磁场对人体作用的正确措施是
单位工程投入使用验收由()主持。
与会计核算相比,统计核算()。
不管日益严峻的交通问题对你来说意味着什么,如果能__到各种交通问题和交通本身一样古老,你就多少会感到__。自从人类开始依靠自身的努力向前发展,这个社会就会一直在努力追求运动的意义,社会和技术依据新的需求不断做出__。依次填入画横线部分最恰当的一项是(
公安机关法制部门在执法监督中可以针对不同事项分别采用()等方式,对公安机关及其人民警察的执法活动进行监督。
Mr.Taylorfeltvery______atthesuggestionthathehadstolenthecar.
AlthoughothernationscontributedtoNorthSeapollution,muchofthecontaminationwastracedbacktoBritain.
最新回复
(
0
)