c语言程序设计报告表达式求值,表达式求值C语言实验报告

表达式求值实验报告

李一鹏 PB12001076 数学系

1. 实验题目:表达式求值

2. 实验目的:熟悉栈与队列

3. 实验内容:

话说令狐冲只告诉东方不败:“东方姑娘你会永远活在我的心中。”东方姑娘听了那是万念俱灰啊,精通算术的东方姑娘一时想不开,抛给令狐冲一个表达式,说:“这个表达式你要是不能在一秒内给我把值求出来我就要坠入悬崖!”令狐冲一看事态不对,马上发动辟邪剑法之求助观众!

观众们,你们又不是不知道令狐冲的那个笨,东方姑娘的生命可以说是掌握在你们的手中了,喜欢她就99她吧!

4. 算法分析:

本算法采用了链表来储存表达式,加入了指数运算和函数还有常数π。由于指数运算是右结合,本算法先全部储存表达式再优先级一个个运算。对于函数和括号,本算法用了递归,遇到右括号即返回,把表达式的直接求解operate()转化成了无括号无函数表达式的求解calculate()。

5. 程序清单:

#include

#include

#include

#include

#define new1 (no*)malloc(sizeof(no))

#define deletenode p2->prec=p1->prec;free(p1);p1=p2->prec;p1->next=p2

#define error1 p1=head;p2=head-> next;if(p2){while(p2!=r){free(p1);p1=p2;p2=p2->next;}free(p1);p2->ope=1;return p2;}else{p1->ope=1;return p1;}

#define fun(a,b,c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值