中缀表达式转化成后缀表达式的计算(5)
时间:2025-04-30
时间:2025-04-30
中缀表达式的直接计算,中缀表达式转化成后缀表达式的计算
void Td_init(TdStack *tds)
{
} tds->size = 0; tds->top = 0;
//数栈的入栈
void Td_push(TdStack *tds,TdNode td)
{
} tds->size++; tds->tdNode[(tds->top)++] = td;
//数栈的出栈
TdNode Td_pop(TdStack *tds)
{
if(tds->size == 0) { } exit(-1); //判断栈是否为空,如果为空,则退出程序,否则出栈
} tds->size--; return tds->tdNode[--(tds->top)];
//看数栈栈顶
TdNode Td_getTop(TdStack *tds)
{
} int len = tds->size; return tds->tdNode[len - 1];
//创建一个返回值为double函数,用于两个数的计算,传入三个变量,
//第一个变量为 操作数1,第二个变量为操作数2,第三个变量为操作符
double Cal(double num_1,double num_2,char op)
{
double num = 0; switch(op) { // 定义一个变量用于接收计算的结果 case '+':num = num_1 + num_2;break; case '-':num = num_1 - num_2;break; case '*':num = num_1 * num_2;break;
case '/':if(num_2 == 0) // 如果除数为零,则推出程序并打印错误信息
{ } num = num_1 / num_2; printf("\ndivisor zero can't"); exit(-1); else
下一篇:O型圈技术手册