首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
admin
2017-11-14
32
问题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如: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
学硕统考专业
相关试题推荐
【波茨坦会议】北京大学1997年欧美近现代史真题
()用铜制造了人体模型,并统一了人体的穴位。
在1959年中共中央召开的庐山会议上遭到错误批判的是()。
在1976年10月粉碎“四人帮”斗争中起重要作用的党和国家领导人包括()。
真理标准问题大讨论
商代青铜器的制作技术很高,尤其是礼器的制作,造型美观,纹饰精巧,是水平极高的工艺品,其中主流的花纹是()。
关于“一战”后构筑的凡尔赛体系,说法不正确的是()。
判断英国工业革命基本完成的主要依据是()
在下列排序方法中不需要对排序码进行比较就能进行排序的是()。
对于设计实时操作系统,不是其设计目标的是()。
随机试题
为避免乳头皲裂,护士指导产妇哺乳时应注意的是
可摘义齿中,最常见和应用最广泛的冠外固位体是A.精密附着体型B.卡环型C.栓道附着体型D.磁附着体型E.冠内附着体型
急性浆液性根尖周炎的临床表现,不正确的是
患儿,7岁。发热、咳嗽6天。体温38℃,呼吸24次/min,肺部有少量细湿啰音。痰液黏稠,不易咳出,该患儿的主要护理措施是( )。
在代理业务中,可能引发操作风险的行为包括()。
学堂乐歌是近代音乐史上出现的新生事物,它的绝大多数是填词创作,曲调主要来自________,其次来自西欧各国。
语音是__________信息载体中具有最大信息容量的信号,具有最高的智能__________,也是人类用来__________的最自然、最有效的手段。如果计算机__________了这种语言功能,其智能程度与应用价值将会大大__________。依次填入
对事件A、B,已知P(∪B)=0.75,P()=0.8,P(B)=0.3,则P(A)=_______,P(AB)=_______,P()=_______,P(A-B)=_______,P(B-A)=_______,P(A∪)=_______.
设A是5阶方阵,且A2=O,则r(A*)=_________.
以下身份认证方式中属于个人特征识别的是______。
最新回复
(
0
)