c语言中减号用什么字母,c语言编1到9九个数字中随意插入加减号使式...

2016-07-19 00:07辛培刚 客户经理

#include//#define MaxLen 100//存储空间int tran(char str[], char expr[]) //将中缀表达式转换成后缀表达式 if(tran(str,expr)==0)//原来表达式,后缀表达式{ int st[100]; //转化过程使用的过度栈 char ch; int i=0,exindex=0,stindex=-1; //i是str下标,exindex是expr下标,stindex是st下标 while((ch=str[i++])!='\0') { if(ch>='0' && ch<='9') //判断是数字 { expr[exindex]=ch; //压栈 exindex++; //栈顶指针上移 while((ch=str[i++])!='\0' && ch>='0' && ch<='9') //其它位依次入栈 { expr[exindex]=ch; exindex++; } i--; //str原算术表达式栈向下遍历 expr[exindex]='#'; //以特殊字符“#”表示结束 exindex++; } else if(ch=='(') //判断为左括号 { stindex++; st[stindex]=ch; } else if(ch==')') //判断为右括号 { while (st[stindex]!='(') { expr[exindex]=st[stindex]; stindex--; //依次弹出 exindex++; } stindex--;//'('出栈 } else if(ch=='+' || ch=='-')//判断为加减号 { while(stindex>=0 && st[stindex]!='(') { expr[exindex]=st[stindex]; stindex--; exindex++; } stindex++; st[stindex]=ch; } else if (ch=='*' || ch=='/')//判断为乘除号 { while(st[stindex]=='*' || st[stindex]=='/') { expr[exindex]=st[stindex]; stindex--; exindex++; } stindex++; st[stindex]=ch; } } while (stinde......余下全文>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值