逆波兰转换C语言(带注释)
更新时间:2024-02-29 22:23:01 阅读量: 综合文库 文档下载
- c语言逆波兰计算器推荐度:
- 相关推荐
#include
int rank(char a);
void push(char a,struct stack*s); char pop(struct stack *s); void main() { char element; int i=0,j=0; struct stack *s;
////////判断运算符优先级函数
s=(struct stack*)malloc(sizeof(struct stack)); ////////创建一个运算符栈 s->next=NULL; push('@',s); ////////给栈一个起始值 while(s->next->letter!='#') { element=getchar();
////////以‘#’作为输出的结尾
if(element!='#') ////////当输入不为结尾标志时 { if((element>'a'&& element<'z') || (element>'A' && element<'Z'))
////////若输入为字母,则直接输出 printf(\ else if(rank(element)>rank(s->next->letter)) push(element,s); ////////若不为字母,则判断该运算符的优先级 else { while(rank(element)<=rank(s->next->letter) && s->next->letter!='@')
///////输入运算符的优先级高于栈顶运算符的优先级,进栈 { printf(\ ///////若优先级不高于栈顶运算符,则将栈顶弹出,并输出, } ///////直到栈顶运算符的优先级严格小于输入运算符的优先级 push(element,s); ///////或者已经到达栈底,之后将该输入的运算符进栈 }
} else push(element,s); ////////若为输入结尾标志符,直接进栈,跳出while循环 }
while(s->next->letter!='@')
////////将栈中的剩余的运算符全部弹出,并依次输出‘#’和‘@’不输出 { if(s->next->letter!='#') printf(\ else element=pop(s); } }
void push(char a,struct stack*s) { struct stack* temp; temp=(struct stack*)malloc(sizeof(struct stack)); temp->letter=a; temp->next=s->next; s->next=temp; }
char pop(struct stack *s) { struct stack* temp; char a; a=s->next->letter; temp=s->next; s->next=s->next->next; free(temp); return a; }
int rank(char a) { if(a=='+'||a=='-') return 1; else if(a=='*'||a=='/') return 2; else return 4; }
正在阅读:
逆波兰转换C语言(带注释)02-29
海船船员三副考试航海英语新增154新题12-21
新局长见面会讲话05-18
风水学名词注解05-06
浅析如何搞好计算机教学的策略03-08
从富士康危机看新时期社会主义和谐社会背景下的企业文化重塑张振兴10-25
重庆2016小升初一三八入学考试题03-09
2019-2025年中国圣诞挂产品行业分析及发展趋势预测(目录) - 图文 09-16
火灾危险性分类 - 图文04-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 波兰
- 注释
- 转换
- 语言
- 14.铁运(2008)142号文《铁路信号维护规则》
- 中西灾难片比较论
- 西沙比利联合帕罗西汀治疗功能性消化不良86例临床观察
- 股市价值投资有方法
- 励志文章
- 三种长尾关键词的选择
- 车工实训心得体会1500字
- 2015年专业技术人员继续教育公需科目培训(初、中、高级1200题)
- 人教版三年级语文上册说课稿:科利亚的木匣说课稿
- A银行软件开发项目的沟通识别研究
- 高三数学总复习第13讲
- 二阶带通电路的频率响应
- 通达信指标公式源码换手率加MACD双背离
- 2016经济法基础测试题1-2章
- 经济学原理对应练习 15
- 合肥工业大学数据库期末考试试题及答案
- 现代管理原理作业答案
- 事业单位考点
- 人教版三年级上册《玩出了名堂》课文
- 住院患者自费药品知情同意书