首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
admin
2017-11-14
76
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如: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
学硕统考专业
相关试题推荐
西欧早期资产阶级反封建斗争以反天主教会的方式进行,主要原因是()①天主教会是最有势力的封建主集团②天主教会是封建的精神工具③天主教会日益腐败④近代自然科学的兴起
东汉时期成书的崔寔()主要是地主经营田庄的家历,但是,书中所记农业技术经验也很丰富,为后人所取法。
1942年太平洋战争爆发后,日本先后夺取了焦作、开滦等煤矿,华北沦陷区每年向日本输送的原煤达800万吨。这说明日本在沦陷区进行经济掠夺的直接目的是()。
论述欧洲一体化的进程及影响。
1978年直接领导和发动真理标准问题讨论的中央领导人是()。
中俄双方签订的第一个边界条约是(),它从法律上肯定了格尔必齐河以东,外兴安岭直至鄂霍次克海以南的乌苏里江和包括库页岛在内的黑龙江流域的广大地区,都是中国的领土。
周王室的两大官僚系统是()。
(1)页面长度为1KB=210B,因此页内偏移地址占10位。主存大小为16KB=214B,所以物理地址占14位。0AC5H=0000101011000101B,除去后10位,得到页号为2,则查找页表可知物理块号为4,所以物理地址是0100101100
设有一个双向链表h,每个结点中除有prior、data和next共3个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域的值均被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域的值加1,并调整
对于设计实时操作系统,不属于其设计目标的是()。
随机试题
某人的红细胞与B型血的血清发生凝集,此人的血清与B型血的红细胞不发生凝集,分析此人的血型为()
病人消谷善饥,多见于
肺性脑病不能用高浓度吸氧,主要是因为
材料成本管理的控制应包括()。
已知某商业集团2008-2009年各季度销售资料,如表5-1所示。则表5-1中,属于时期数列的有()。
目前我国企业冗员较多,人浮于事,实行()可以解决富余人员较多的问题。
根据以下资料,回答问题。已知中国2010年水电发电量为6867亿兆瓦时,那同年核电发电量约为()亿兆瓦时。
Aperson’shomeisareflectionofhispersonality.Dependingonpersonality,mosthaveinminda(n)"【C1】______home".Butingen
Inthepopularmind,theInternetistherealizationoftheglobalvillage,wheretheflowofinformationandideasisunimpeded
FixingaWorldThatFostersObesityA)WhyareAmericansgettingfatterandfatter?Thesimpleexplanationisthatweeattoomuc
最新回复
(
0
)