首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
admin
2017-11-14
34
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
选项
答案
逆波兰表达式(即后缀表达式)求值规则如下:设立运算数栈OPND,对表达式从左到右扫描(读入),当表达式中扫描到数时,压入OPND栈。当扫描到运算符时,从OPND退出两个数,进行相应运算,结果再压入OPND栈。这个过程一直进行到读出表达式结束符$,这时OPND栈中只有一个数,就是结果。 float expr(){ //从键盘输入逆波兰表达式,以’$’表示输入结束,本算法求逆波兰表达式的值 float OPND[30]; //OPND是操作数栈 init(OPND); //两栈初始化 float num=O.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,hum);hum=0.0; //数压入栈,下个数初始化 case”:break; //遇空格,继续读下一个字符 case’+’:push(OPND,pop(OPND)+pop(OPND));break; case’-’:x1=pop(OPND);x2=pop(OPND);push(OPND,x2-x1);break; case’*’:push(OPND,pop(OPND)*pop(OPND));break; case’/’:x1=pop(OPND);x2=pop(OPND);push(OPND,x2/x1);break; default: //其他符号不作处理 }//结束switch scanf(”%c”,&x): //读入表达式中下一个字符 }//结束while(x!=’$’) printf(”后缀表达式的值为%f”);pop(OPND); }
解析
转载请注明原文地址:https://kaotiyun.com/show/exRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
《关于建国以来党的若干历史问题的决议》
最晚到汉武帝时期,出现了我国第一部算学著作(),它记载了用竿标测日影以求日高的方法,从而认识了勾股定理。
下列事件:①上党战役②九三学社成立③“一二·一”惨案④《双十协定》签订,按照时间顺序排列正确的是()。
在辛亥革命爆发前,孙中山领导中国同盟会发动的武装起义中影响最大的是()。
下列哪一组是奥匈帝国瓦解后分裂出去的独立国家?()①塞尔维亚一克罗地亚一斯洛文尼亚②保加利亚③波兰④罗马尼亚⑤捷克斯洛伐克
杜鲁门提出“对日本的占领不能重蹈德国的覆辙”,这一主张付诸实行后()。
阅读下面史料,回答问题:材料一各缔约国主力舰替换总吨位按照标准排水量计算不得超过如下:合众国525000吨;英帝国525000吨;法国175000吨;意大利175000吨;日本315000吨。
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
给定序列{3,5,7,9,11,13,15,17),(1)按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,并求在等概率情况下查找成功的平均查找长度。(2)按表中元素的顺序构造一棵平衡二叉树,并求其在等概率情
某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是____。
随机试题
【背景资料】某项目进展到第10周后,对前9周的工作进行了统计检查,有关统计情况见下表。【问题】计算前9周每项工作的BCWP。
降低在途库存的基本策略是()
由于内痔的动脉供应,其好发部位多在截石位的()(2000年)
胸痹的基础治疗方剂是
格列苯脲为
建立免疫带是为了()。
某诗人署名“漫动的音符”,在甲网站发表题为“天堂向左”的诗作,乙出版社的《现代诗集》收录该诗,丙教材编写单位将该诗作为范文编入《语文》教材,丁文学网站转载了该诗。下列哪一说法是正确的?
恩格斯说:“随着自然科学领域中每一个划时代的发现,唯物主义也必然要改变自己的形式。”这说明()。
下列关于在WindowsServer2003系统中配置DNS服务器的描述中,正确的是()。
Startingaconversationisaseasyforsomepeopleaseatingandbreathing.However,ifyousufferfromsocialanxietydisorder
最新回复
(
0
)