中序式转后序式?(a+b)*(c+d)=>ab+cd+*
来源:互联网 发布:node v4.5.0 x64.msi 编辑:程序博客网 时间:2024/06/09 20:52
#include<stdio.h>#include<stdlib.h>int postfix(char *);//int priovity(char);//int main(void){char input[100];printf("输入中序运算式:");scanf("%s",input);postfix(input);return 0;}//后序化函数int postfix(char *index){int i=0;int top=0;//指向stack的游标char stack[100]={'/0'};//存放括号和运算符的栈char op;while(1){op=infix[i];switch(op){//op到最后时,输出stack中的字符case '/0':while(top>0){printf("%c",stack[top]);top--;}return 0;//遇(时,op放入stack中case '(':if(top<sizeof(stack)/sizeof(char)){top++;stack[top]=op;}break;//遇+-*/时case '+':case '-':case '*':case '/'://比较优先级,并输出级别高的while(priovity(stack[top])>=priovity(op)){printf("%c",stack[top]);top--;}//存放级别低的if(top<sizeof(stack)sizeof(char)){top++;stack[top]=op;}break;//遇)时,把stack中的top指向的运算符输出,并把(退掉case ')':while(stack[top]!='('){printf("%c",stack[top]);top--;}top--;break;//输出运算元default:printf("%c",op);break;}i++;}}//判断优先级函数int priovity(char op){int p;switch(){case '+':case '-':p=1;break;case '*':case '/':p=1;break;default:p=0;break;}return p;}
中序转前序亦然!
0 0
- 中序式转后序式?(a+b)*(c+d)=>ab+cd+*
- static { A = "ab";B = "cd"; }
- abcde 要求输出 a b c d e ab bc cd de abc bcd cde abce bcde abcde
- 放大器:A、B、AB、D、G、H
- 放大器:A、B、AB、D、G、H
- Problem B: AB*C+A=y的方程
- A ab=new B();
- 将A, B, C , D ... Z, AA, AB...AZ, BA转换为对应的数字
- A类、B类、AB类、C类、D类五种功率…
- a+++b+c+++d++
- a/b + c/d
- String a= “abc” String b = "abc" String c = new String("abc") String d = "ab" + "c" .他们之间用 == 比较的结果
- 逗号表达式 c = a,b; d = (a,b);
- a= b?c:d 问号表达式
- HDUOJ2503 a/b + c/d
- 翡翠 A, B, C, D
- HDU2503:a/b + c/d
- unsigned a,b,c,d;
- C# 反射笔记
- 网络编程(URL、HTTP、request)
- Android快速开发系列 10个常用工具类
- Swift 初体验之一
- JavaScript Promise API
- 中序式转后序式?(a+b)*(c+d)=>ab+cd+*
- 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(5)
- Android官方提供的支持不同屏幕大小的全部方法
- js运算符合和就是流程语句
- Ulua_toLua_基本案例(八)_LuaAccessingArray
- 【VS开发】MP4与H.264
- ThinkPHP5.0执行流程分析
- 梦想科技
- Swift 初体验之二