表达式的求值这个程序在tc里有很多错误,在VC里有一个错误,不知道怎么改,就是关于# include"stack.h"/
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/16 12:10:30
表达式的求值
这个程序在tc里有很多错误,在VC里有一个错误,不知道怎么改,就是关于# include"stack.h"/一直错误.
# include
# include"stack.h"/*包含一个堆栈数据结构*/
#define ExpSize 30
int isp(char c)
{/*计算运算符c的栈内优先级*/
int priority;
switch (c)
{
case '(':priority=0;break;
case '+':
case '-':priority=5;break;
case '*':
case '/':priority=6;break;
case '#':priority=0;break;
}
return priority;
}
int icp(char c)
{/*计算运算符c的栈外优先级*/
int priority
switch(c)
{
case'(':priority=8;break;
case'+':
case'-':priority=5;break;
case'*':
case'/':priority=6;break;
case'#':priority=0;break;
}
return priority;
}
void InfixToPostfix(char exp[])
{
Stack s; int i; char ch,y;
CreateStack(&s,Stacksize);/*构造一个空栈*/
Push(&s,'#');/*栈底插入'#'*/
printf("\n The Postfix expression is :");
for(i=0, ch=exp[i];ch!='#';i++,ch=exp[i])
{
if(isdigit(ch)//isalpha(ch)printf("%c",ch);/*输出操作数ch*/
else if (ch==')')
for(StackTop(s,&y), Pop(&s);y!='(';StackTop(s,&y),Pop(&s))
printf("%c",y);/*输出栈中属于括号内的运算符*/
else
{
for(StackTop(s,&y);icp(ch)isp(y)*/
push(&s,ch);/*当前运算符ch进栈*/
}
}
while(!IsEmpty(S))
{/*输出栈中剩余运算符*/
StackTop(s,&y);Pop(&s);
if(y!='#')printf("%c",y);
}
}
void main()
{
char exp[ExpSize]={'6','/','(','4','-','2',')','+','3','*','2','#'};
InfixToPostfix(exp);
}
这个程序在tc里有很多错误,在VC里有一个错误,不知道怎么改,就是关于# include"stack.h"/一直错误.
# include
# include"stack.h"/*包含一个堆栈数据结构*/
#define ExpSize 30
int isp(char c)
{/*计算运算符c的栈内优先级*/
int priority;
switch (c)
{
case '(':priority=0;break;
case '+':
case '-':priority=5;break;
case '*':
case '/':priority=6;break;
case '#':priority=0;break;
}
return priority;
}
int icp(char c)
{/*计算运算符c的栈外优先级*/
int priority
switch(c)
{
case'(':priority=8;break;
case'+':
case'-':priority=5;break;
case'*':
case'/':priority=6;break;
case'#':priority=0;break;
}
return priority;
}
void InfixToPostfix(char exp[])
{
Stack s; int i; char ch,y;
CreateStack(&s,Stacksize);/*构造一个空栈*/
Push(&s,'#');/*栈底插入'#'*/
printf("\n The Postfix expression is :");
for(i=0, ch=exp[i];ch!='#';i++,ch=exp[i])
{
if(isdigit(ch)//isalpha(ch)printf("%c",ch);/*输出操作数ch*/
else if (ch==')')
for(StackTop(s,&y), Pop(&s);y!='(';StackTop(s,&y),Pop(&s))
printf("%c",y);/*输出栈中属于括号内的运算符*/
else
{
for(StackTop(s,&y);icp(ch)isp(y)*/
push(&s,ch);/*当前运算符ch进栈*/
}
}
while(!IsEmpty(S))
{/*输出栈中剩余运算符*/
StackTop(s,&y);Pop(&s);
if(y!='#')printf("%c",y);
}
}
void main()
{
char exp[ExpSize]={'6','/','(','4','-','2',')','+','3','*','2','#'};
InfixToPostfix(exp);
}
源代码不全,要编译这个程序当前文件夹下首先得有stack.h这个头文件以及相应的代码
不知道这个非法的错误表达式错在哪?
帮忙计算一个画一个matlab图,我这个程序不知道哪里有错误.
就是一个我自己写的句子不知道语法上有什么错误 具体的句子在补充中
计算圆的面积和周长帮忙看看这个程序有什么错误.#include#include#define r 3int main()
最近写了一篇英语作文 知道有很多错误的地方但是不知道错在哪里
请看这个句子校园里静悄悄的,只听见同学们琅琅的读书声有什么错误?怎么改?
VC++6.0 程序compile通过,build有1个错误,找不出来啊.
下面的matlab程序错误在哪里?怎么不运行?
关于matlab程序的问题 这是PSO算法里的一小段程序 有错误 求指导
老师批改的作业中有一个勾叉,不知道错误在哪里,请指出
matlab请看一下这个程序,有错误,不会改
这个程序错误在哪里?#include using namespace std;class Date{public:voi