首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
admin
2019-01-16
40
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如: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
学硕统考专业
相关试题推荐
从20世纪50年代开始,西欧和日本资本主义经济持续发展的共同原因是()。①政府都推行了一些社会改革,促进了经济发展②都注重发展或引进先进的科学技术、提高劳动生产率③都重视发展教育,培养人才④都接受了国外大量订货,刺激了经济发
1936年苏联宪法规定苏联的国体是()。
中华人民共和国恢复在联合国合法席位的时间是()。
下列关于《凡尔赛和约》的说法,全部错误的是()。①《凡尔赛和约》中不许德国设防区是莱茵河西岸50公里以内区域②《凡尔赛和约》中,战胜国处置德国的全部海外殖民地的方式是“托管制”③和约有关德国疆界问题,把原属波兰的领上基本上归还波兰④
明代张居正推行的“一条鞭法”,是继“两税法”之后赋役制度的又一次重大改革。该法在全面推行前曾在南方部分地区试行,最早出现于()
记载了用竿标日测影以求日高的方法,并认识了勾股定理的算书是()。
通过论战体现出来的革命派与改良派的共同之处有()。①都反对帝国主义的侵略,但又都替侵略者开脱罪责②都不敢正面提出反对帝国主义的口号,反而寄希望于帝国主义的支持和赞助③都反对封建专制制度,主张建立民主政体,但又都对反封建的艰巨性缺乏认识
中华民国军政府是由下列哪个军阀成立的?()
一个客户机利用FTP协议从服务器上下载文件,如下图所示为整个过程中协议交换的过程,请回答如下问题:(1)该协议层图中第四层协议是什么?(2)如果FTP客户端采用了LIST命令来获得FTP服务器上的文件列表,该列表采用什么端口传输?
下图是某存储芯片的引脚图,请回答:(1)这个存储芯片的类型(是RAM还是ROM)?这个存储芯片的容量?(2)若地址线增加一根,存储芯片的容量将变为多少?(3)这个芯片是否需要刷新?为什么?刷新和重写有什么区别。(4)
随机试题
右心衰竭可能的症状不包括
诊断首先考虑应立即做哪项检查
熟练、严格的专业者作滴定分析,测定结果的准确度,可以说
下列哪个场所的散热器应暗装或加防护罩。
企业、事业单位等机构因办理日常转账结算和现金收付需要而开立的存款账户是()。
银行业犯罪中的金融凭证诈骗罪,是指以非法占有为目的,采用虚构事实、隐瞒真相的方法,使用伪造、变造的()等银行结算凭证进行诈骗活动的行为。
甲公司因生产需要,准备购入一套大型生产设备。4月1日,甲公司向乙设备厂发出了一份详细的书面要约,并在要约中注明:请贵公司于4月20日前答复,否则该要约将失效,该要约到达乙设备厂后,甲公司拟撤销该要约。根据合同法律制度的规定,下列关于该要约能否撤销的表述中,
请从所给的四个选项中,选出最符合左边五个图形一致性规律的选项:
THELIFECYCLEOFASTARIthasbeenconservativelyestimatedthattherearesome10,000billion,billionstarsintheunive
Searchingforloveisnolongerjustafavoritesubjectforsongs.Ithasalsobecomeahugeindustry.Expertssaythatthe
最新回复
(
0
)