中缀表达式转化成后缀表达式的计算(6)

时间:2025-04-30

中缀表达式的直接计算,中缀表达式转化成后缀表达式的计算

} } return num;

//创建一个返回值为int型的函数,用于比较两个操作符的优先级

int Compare_opeate(int level_1,int level_2)

{

} if(level_1 >= level_2) //判断优先级别,返回相应的值 return 0; return -1;

//创建一个返回值为double型的函数,用于返回整个表达式的计算结果

double CalResult()

{

//char ch[] = "23+12-34"; //char ch[] = "19-(2*3)+12/2"; char ch[] = "(23-3)/0+12*2";

char tempCh[100]; //存放后缀表达式

int index = 0,i = 0;

OpStack ops;

//定义 操作符栈 TdStack tds; //定义 操作数栈 OpNode op; //定义 字符节点 TdNode td; //定义 数节点 Op_init(&ops); //初始化字符栈 Td_init(&tds); //初始化操作数栈 while(ch[index] != '\0') { char chr = ch[index]; if(chr >= '0' && chr <= '9' || chr == '.') {

} int tempIndex = index; while(chr >= '0' && chr <= '9' || chr == '.') //判断是否为操作数 { } tempCh[i++] = '|'; //在一个操作数取完之后,后面加分隔符 index = tempIndex; continue; tempCh[i++] = ch[tempIndex]; tempIndex++; chr = ch[tempIndex];

//判断是否为加法或者减法运算 if(chr == '+' || chr == '-') {

op.ch = chr; //存放操作符到操作符节点

中缀表达式转化成后缀表达式的计算(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219