实验一: 编写一个计算算术表达式的程序
一:程序的设计内容 输入一个表达式; 采用栈的方式将中缀转后缀(操作符入栈); 再由后缀求值。
二:基本要求 编写栈; 使用模板类; 所有数可为个位数; 可以省略括号。
三:分析程序及实验方法 擅于调用模板函数; 多查阅资料,多看典例;
如计算:3*((2+3)-(5-3)^3) 结果为-66

部分功能
1、优先级判断
char Precede(char ch1,char ch2)
{
char ch;
switch(ch1)
{
case '+':
case '-':
{
switch(ch2)
{
case '+':
case '-':
case ')':
case '#':
ch='>';
break;
case '*':
case '/':
case '(':
case '^':
ch='<';break;
}
break;
}
case '*':
case '/':
case '%':
{
if(ch2=='(')
ch='<';
else if(ch2 == '^')
ch = '<';
else
ch='>';
break;
}
case '(':
{
if(ch2==')')
ch='=';
else
ch='<';
break;
}
case ')':
{
ch='>';
break;
}
case '=':
{
if(ch2=

该博客介绍了如何编写一个计算算术表达式的程序,包括将中缀表达式转换为后缀表达式并进行计算。程序采用栈来实现,涉及优先级判断、结果计算和后缀表达式求值等功能。示例计算3*(2+3)-(5-3)^3,结果为-66。
最低0.47元/天 解锁文章
3270

被折叠的 条评论
为什么被折叠?



