C语言数据结构链栈实现个位数计算式(数据结构第二次实验)

该博客介绍了如何使用C语言通过链栈实现个位数计算式的求解,包括栈的链式存储结构,以及In(c)、Precede(t1,t2)、Operate(a,theta,b)三个关键函数的实现。实验要求利用栈求解算术表达式,程序需要处理加减乘除和括号,并确保输入和输出在0~9之间。博客中还提到了程序设计的要求,如注释、健壮性和用户界面友好性,并给出了部分代码示例。" 88384963,8034712,C++编程:单词排序问题解析与陷阱,"['C++编程', '信息竞赛', '算法题解', '程序调试', '数据输入处理']
摘要由CSDN通过智能技术生成

代码没有按照老师给定的函数,逻辑比较混乱,变量名不规范;

优点是运用的库较少,内置函数较少,易懂。

题目如下:

课程名称:数据结构

实验目的:

1.掌握栈的定义及实现;

2.掌握利用栈求解算术表达式的方法。

实验要求:

1、    使用链式存储结构完成栈的各种基本操作;

2、    补充完成In(c), Preced(t1,t2),Operate(a,theta,b)三个函数。

实验题目:栈的基本操作及其应用

实验过程:

1、通过修改完善教材中的算法3.4,利用栈来实现算术表达式求值的算法。对算法3.4中调用的几个函数要给出其实现过程:

(1) 函数In(c):判断c是否为运算符;

(2) 函数Precede(t1,t2):判断运算符t1和t2的优先级;

(3) 函数Operate(a,theta,b):对a和b进行二元运算theta。

2、程序运行时,输入合法的算术表达式(中间值及最终结果要在0~9之间,可以包括加减乘除和括号),便可输出相应的计算结果。如下图:

实验提示:(仅供参考,每个函数的具体实现可以有多种方法,希望有创新)

1. 将栈的定义和实现单独保存在头文件“stack.h”中,然后在表达式求值的源程序中包含此头文件(即#include“stack.h”)。

2.表达式求值源程序的具体实现

(1) 主函数如下:

void main()

 {

   Printf(“请输入算术表达式,并以#结束.\n”);

  Printf(“the result of expression is:%d\n”,EvaluateExpression());

 }

(2) 函数EvaluateExpression的实现见算法3.22

(3) 函数In(c)的实现可以采用以下方式:

Status In(SElemType c)// 应在前面有定义typedef char SElemType;

 { // 判断c是否为运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值