中缀表达式转化成后缀表达式的计算(9)
时间:2025-07-09
时间:2025-07-09
中缀表达式的直接计算,中缀表达式转化成后缀表达式的计算
}
tempCh[i++] = '\0'; //最后在字符数组中加字符的结束标志 \0
int j = 0; //打印后缀表达式 printf("follow-up expression: "); while(tempCh[j] != '\0') { } printf("%c",tempCh[j]); j++;
int k = 0;
//将后缀表达式进行计算 while(tempCh[k] != '\0') { char cc = tempCh[k];
if(cc >= '0' && cc <= '9' || cc == '.') //判断是否为操作数
{
int tempIndex = k; int i = 0;
char assch[10] ={0}; //定义数组存放一个操作数,并进行初始化
while(cc >= '0' && cc <= '9' || cc == '.')
{
}
td.d = atof(assch);
Td_push(&tds,td); //将取出的操作数入栈
k = tempIndex;
continue; assch[i++] = tempCh[tempIndex]; tempIndex++; cc = tempCh[tempIndex];
}
else if(cc == '|') // 如是 | 则直接跳过 { } else // 如果是字符,则出栈两个数 进行计算
{
char op1 = cc; double num_2 = Td_pop(&tds).d; double num_1 = Td_pop(&tds).d; double num = Cal(num_1,num_2,op1); td.d = num; k++;
下一篇:O型圈技术手册