首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
admin
2019-01-16
14
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如: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
学硕统考专业
相关试题推荐
()是中国历史上第一次大规模的群众性武装暴动。
简述弭兵运动的主要内容以及重要影响。
中古时代实行索贡巡行赋税征收方式的国家是()。
雅尔塔体系、两极格局、“冷战”三者的区别与联系是什么?
第三世界所共有的特征及崛起的标志是什么?
抗日战争期间,日本将沦陷区的许多矿产业、钢铁业等交给日本公司管理,其名义是()。
洋务派创办军事工业的方式是()。
清廷实行厘金制度的时间是()。
法国大革命中,颁布全面限价法案的政治派别是
下列各种情况中,应采用异步通信方式的是()。
随机试题
试述在创造社会价值中实现自我价值。
麻疹最常见的并发症是
男,65岁。间断活动时喘憋1年余,憋醒。既往高血压病8年余,糖尿病4年余。查体:BP150/100mmHg,双肺呼吸音清,心率76次/分,律齐。患者经药物治疗症状好转,为改善预后需要长期使用的药物是
国家专利局给予某工厂某发明专利以实施强制许可。下列关于该工厂使用该专利发明的表述正确的是( )。
行政诉讼适用民事诉讼程序法律规范的条件是什么?
下列事项中,不能成为施工单位索赔理由的是()。
下列问项中,属于封闭式问项的是()。
在△ABC中,a=,b=1,∠C=30°,试判断△ABC的形状。解:根据余弦定理得c2=a2+b2-2abcosC=1所以c=1,又由正弦定理得所以∠A=60°,∠B=180°-60°-30°=90°故△ABC是直角三角形。问:给出正
一口水井,在不渗水的情况下,甲抽水机用4小时可将水抽完,乙抽水机用6小时可将水抽完。现用甲、乙两台抽水机同时抽水,但由于渗水,结果用了3小时才将水抽完。问在渗水的情况下,用乙抽水机单独抽,需几小时抽完?
ThenightofDecember16,1773,dozensofMassachusettscolonistsquietlyboardedthreeshipsanddumpedwhatwouldnowbeclose
最新回复
(
0
)