当前位置:网站首页>后缀式的计算
后缀式的计算
2022-08-04 20:42:00 【柯基@】
- 后缀式为何物?
这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。 - 它有何优点?
这种表示法的优点是根据运算对象和算符的出现次序进行计算,不需要使用括号,也便于用械实现求值。
eg:原表达式:a*(b*(c+d/e)-f)
后缀式:abcde/+f-
【例】编写一个函数,求后缀式的数值,其中后缀式存于一个字符数组exp中,exp中最后一个字符为“\0”,作为结束符,并且假设后缀式中的数字都只有一位。本题中所出现的除法运算,皆为整除运算,如2/3结果为0、3/2结果为1。
int op(int a,char Op,int b){
//运算函数
if(Op=='+') return a+b;
if(Op=='-') return a-b;
if(Op=='*') return a*b;
if(Op=='/'){
if(b==0){
cout<<"ERROR"<<endl;
return 0;
}
else
return a/b;
}
}
int com(char exp[]){
int stack[maxSize]; // maxSize 为已经定义的常量
int top=-1;
int a,b,c;
int i=0;
while(exp[i]!='\0'){
if(exp[i]>='0' && exp[i]<='9')
stack[++top]=exp[i]-'0';
else{
b=stack[top--];
a=stack[top--];
c=op(a,exp[i],b);
stack[++top]=c;
}
i++;
}
return stack[top];
}
边栏推荐
猜你喜欢

文章复现:超分辨率网络-VDSR

二叉搜索树解决硬木问题

JS new一个构造器发生了什么?从零手写一个new方法

KubeSphere简介,功能介绍,优势,架构说明及应用场景

面试官:Redis中过期的key是怎么被删除的?

Chrome安装zotero connector 插件

Big capital has begun to flee the crypto space?

ADB 安装 + 打驱动全教程

构建Buildroot根文件系统(I.MX6ULL)

Zero-knowledge proof notes - private transaction, pederson, interval proof, proof of ownership
随机推荐
泰山OFFICE技术讲座:底纹、高亮、边框的关系
Oreo域名授权验证系统v1.0.6公益开源版本网站源码
无代码平台字段设置:基础设置入门教程
mysql的存储过程介绍、创建、案例、删除、查看「建议收藏」
MySQL field type
C语言基础[通俗易懂]
C#将对象转换为Dictionary字典集合
【SQL】触发器同步表数据
两种白名单限流方案(redis lua限流,guava方案)
面试官:Redis中过期的key是怎么被删除的?
【AGC】构建服务1-云函数示例
【TypeScript】深入学习TypeScript枚举
Matlab画图2
MYSQL gets the table name and table comment of the database
【随记】新一天搬砖 --20220727
Interviewer: How is the expired key in Redis deleted?
Getting Started with Lattice Passwords
MATLAB中readtimetable函数用法
深度解析:为什么跨链桥又双叒出事了?
Desthiobiotin-PEG4-Azide_脱硫生物素-叠氮化物 100mg