C语言计算表达式的值要求:1 待处理的数据从键盘输入,例如:100*(2+3)-200/42 采用树型结构存储数据3 输出树的结构(按形状)和计算结果4 使用NEW和DELETE函数,结束时需要删除树请教高手 谢谢

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 14:38:50

C语言计算表达式的值要求:1 待处理的数据从键盘输入,例如:100*(2+3)-200/42 采用树型结构存储数据3 输出树的结构(按形状)和计算结果4 使用NEW和DELETE函数,结束时需要删除树请教高手 谢谢
C语言计算表达式的值
要求:
1 待处理的数据从键盘输入,例如:100*(2+3)-200/4
2 采用树型结构存储数据
3 输出树的结构(按形状)和计算结果
4 使用NEW和DELETE函数,结束时需要删除树
请教高手 谢谢

C语言计算表达式的值要求:1 待处理的数据从键盘输入,例如:100*(2+3)-200/42 采用树型结构存储数据3 输出树的结构(按形状)和计算结果4 使用NEW和DELETE函数,结束时需要删除树请教高手 谢谢
#include
#include
#define MaxSize 99
void translate(char str[],char exp[]) /*将算术表达式转换成后缀表达式*/
{
struct
{
char data[MaxSize];
int top; /*top为栈顶*/
}op; /*定义一个含data和top的结构体*/
char ch;
int i = 0,t = 0;
op.top = -1;
ch = str[i]; /*将str的每一个数转换成ch*/
i++;
while(ch != '\0') /*ch对应不同的符号的时候对应的转换情况*/
{
switch(ch)
{
case '(':/*当是(的时候,将此括号存入栈op*/
op.top++;op.data[op.top]=ch;
break;
case ')':
while(op.data[op.top] != '(') /*括号内的转换优先级最高,故先提取表达式*/
{
exp[t]=op.data[op.top];
op.top--;
t++;
}
op.top--;
break;
case '+':
case '-':
while(op.top != -1&&op.data[op.top] != '(')
{
exp[t] = op.data[op.top];
op.top--;
t++;
}
op.top++; /*恢复可插入位置*/
op.data[op.top] = ch;
break;
case '*':
case '/':
while(op.top == '/'||op.top == '*') /*优先级*/
{
exp[t] = op.data[op.top];
op.top--;
t++;
}
op.top++;
op.data[op.top] = ch;
break;
case ' ':/*忽略空格,排除误操作*/
break;
default:
while(ch >= '0'&&ch = '0'&&ch

C语言计算表达式的值要求:1 待处理的数据从键盘输入,例如:100*(2+3)-200/42 采用树型结构存储数据3 输出树的结构(按形状)和计算结果4 使用NEW和DELETE函数,结束时需要删除树请教高手 谢谢 用C语言编一程序,可以计算表达式的值,对非法表达式要给出提示,并要求重新输入正确表达式.要求:1、能正确计算表达式的值;2、要考虑表达式的优先级. C语言表达式的计算练习掌握算术表达式、逗号表达式、赋值表达式的计算练习 二级C语言求解 计算表达式a++&&b++的值计算表达式a++&&b++的值 用C语言编一程序,可以计算表达式的值,对非法表达式要给出提示,并要求重新输入正确表达式.要求:1、能正确计算表达式的值;2、要考虑表达式的优先级.等待解答中、、、?--7、3 c语言for的计算顺序问题for(表达式1,表达式2,表达式3){表达式4}请问先算表达式3还是表达式4? 计算表达式1-2+3-…-100的值,c语言程序 C语言程序编写 计算表达式 1 + 2 + 3 + . + 100的值. 算术表达式求值 C语言算术表达式求值(1)用户可通过键盘输入四则运算的表达式(2)判断表达式是否正确(3)对正确的表达式,计算该表达式的值 C语言里计算X的立方的表达式? C语言中表达式“0.5&1”的值是多少? c语言,表达式1/4+2.75的值是? C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序 C语言 计算表达式S=1!+(1!+2!)+.+(1!+2!+3!+.+N!)的值n无范围. C语言题 编写一个主函数,计算并输出表达式1+22+32+...+102的值 9.以下不能正确计算代数式值的C语言表达式是( ). 计算数学表达式2x/(3b+2a)的值.用C语言. 计算从1到80数的和C语言