-
大小: 2KB文件类型: .cpp金币: 1下载: 0 次发布日期: 2021-05-14
- 语言: C/C++
- 标签:
资源简介
输入一个中缀表达式,将其转换为等价的后缀表达式后输出并计算结果。
代码片段和文件信息
/*
输入一个中缀表达式,将其转换为等价的后缀表达式后输出
并计算结果。
*/
#include
#include
#include
using namespace std;
bool chuyes;
char s[110]t[300];
stack a;
stack b;
bool shu(char x)
{
return x>=‘0‘&&x<=‘9‘;
}
bool sign(char x)
{
return x==‘+‘||x==‘-‘||x==‘*‘||x==‘/‘;
}
bool budi(char xchar y)
{
if ((x==‘+‘||x==‘-‘)&&(y==‘*‘||y==‘/‘)) return false;
return true;
}
int count()
{
int intt1t2;
for (;!a.empty();a.pop());
memset(t0sizeof(t));
for (i=nt=0;s[i]!=‘\0‘;i++)
if (shu(s[i]))
{
for (;s[i]!=‘\0‘&&shu(s[i]);i++) t[nt++]=s[i];
t[nt++]=‘‘;
i--;
}
else if (sign(s[i]))
{
for (;!a.empty()&&a.top()!=‘(‘&&budi(a.top()s[i]);a.pop()) t[nt++]=a.top();
a.push(s[i]);
}
else if (s[i]==‘(‘) a.push(s[i]);
else if (s[i]==‘)‘)
{ for (;a.top()!=‘(‘;a.pop()) t[nt++]=a.top();
a.pop();
}
fo
- 上一篇:门限秘密分享算法C实现
- 下一篇:QT实现SNTP服务
评论
共有 条评论