数据结构表达式求值(计算器)实验报告(共10篇)

数据结构表达式求值(计算器)实验报告(共10篇)

数据结构课程设计_实验报告(一)表达式求值(计算器)

数据结构课程设计 实验报告

起止时间:2015.12.28-2015.12.31

附件:(程序源代码)

#includestdio.h

#includestdlib.h

#includestring.h

#includemath.h

#define N 100

#define pai 3.1415926

typedef struct yxj

{

char operat;

int rank;

}yxj;

typedef struct str

{

char data[N];

}zs;

void sjhs(void)

{

char s[10],a[10];

double y,x;

printf(请输入(sin cos tan 角度制)表达式:\n);

scanf(%s,s);

if(strstr(s(来自:www.XIelw.Com 写 论文网:),sin)!=0)

{

int i=0,j=0;

while(s[i]!='\0')

{

if(s[i]='0'&&s[i]='9')

s[j++]=s[i];

i++;

}

s[j]='\0';

x=atof(s);

y=sin(x*pai/180);

}

else if(strstr(s,cos)!=0)

{

int i=0,j=0;

while(s[i]!='\0')

{

if(s[i]='0'&&s[i]='9')

s[j++]=s[i];

i++;

}

篇二:数据结构算术表达式求值实验报告

软件技术基础实验报告

实验名称: 系 别: 年 级:

班 级: 学生学号: 学生姓名:

表达式计算器

通信工程 2012

2 23320122203902 李 斐 1

《数据结构》课程设计报告

题目 简易计算表达式的演示

【题目要求】

要求:实现基本表达式计算的功能

输入:数学表达式,表达式由整数和“+”、 “-”、“×”、“/”、“(”、“)”组成 输出:表达式的值

基本操作:键入表达式,开始计算,计算过程和结果记录在文档中 难点:括号的处理、乘除的优先级高于加减

1.前言

在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。

算法输入:一个算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为简化,规定操作数只能为正整数,操作符为+、-*、/、=,用#表示结束。

算法输出:表达式运算结果。

算法要点:设置运算符栈和运算数栈辅助分析算符优先关系。在读入表达式的字符序列

2

的同时,完成运算符和运算数的识别处理,以及相应运算。

2.概要设计

2.1 数据结构设计

任何一个表达式都是由操作符,运算符和界限符组成的。我们分别用顺序栈来寄存表达式的操作数和运算符。栈是限定于紧仅在表尾进行插入或删除操作的线性表。顺序栈的存储结构是利用一组连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置,base为栈底指针,在顺序栈中,它始终指向栈底,即top=base可作为栈空的标记,每当插入新的栈顶元素时,指针top增1,删除栈顶元素时,指针top减1。

2.2 算法设计

为了实现算符优先算法。可以使用两个工作栈。一个称为OPTR,用以寄存运算符,另一个称做OPND,用以寄存操作数或运算结果。

1.首先置操作数栈为空栈,表达式起始符”#”为运算符栈的栈底元素;

2.依次读入表达式,若是操作符即进OPND栈,若是运算符则和OPTR栈的栈顶运算符比较优先权后作相应的操作,直至整个表达式求值完毕(即OPTR栈的栈顶元素和当前读入的字符均为”#”)。

2.3 ADT描述 ADT Stack{

数据对象:D={ai |ai∈ElemSet,i=1,2,?,n, n≧0} 数据对象:R1={ai,ai?1|ai?1,ai?D,i=2,?,n} 约定an端为栈顶,ai端为栈底。 基本操作:

InitStack(&S)

操作结果:构造一个空栈S。GetTop(S)

初始条件:栈S已存在。

3

操作结果:用P返回S的栈顶元素。Push(&S,ch) 初始条件:栈S已存在。

操作结果:插入元素ch为

如何利用计算机求函数解析式,数据结构表达式求值(计算器)实验报告(共10篇).doc...相关推荐

  1. 计算机会计学ufo报表,ufo报表实验报告(共10篇).doc

    ufo报表实验报告(共10篇) ufo报表实验报告(共10篇) UFO报表实验报告 齐鲁工业大学实验报告 成绩 课程名称会计电算化指导教师 实验日期 2014/5/21 院(系) 商学院 专业班级会计 ...

  2. 计算机逻辑运算实验总结,算术逻辑运算实验报告(共10篇).doc

    算术逻辑运算实验报告(共10篇) 算术逻辑运算实验报告(共10篇) 实验二 算术逻辑运算实验报告 计算机组成原理实验报告 专 业:计算机+自动化 姓 名: 桑超强(201126100416) 陆黎明( ...

  3. 计算机安全技术 实验报告,网络安全技术实验报告(共10篇).doc

    网络安全技术实验报告(共10篇) 网络安全技术实验报告(共10篇) 网络安全技术实验报告九 实验九 杀毒软件的使用 实验目的 1.了解杀毒软件的工作原理. 2.学习使用杀毒软件检测和清除病毒. 实验环 ...

  4. 计算机组成原理实验心得2000字,计组实验报告(共10篇).doc

    计组实验报告(共10篇) 计组实验报告(共10篇) 计组实验报告 计算机组成原理实验报告一 一.算术逻辑运算器 1. 实验目的与要求: 目的:① 掌握算术逻辑运算器单元ALU(74LS181)的工作原 ...

  5. 大学计算机实验报告虚拟机,安装虚拟机的实验报告(共10篇).docx

    文档介绍: 安装虚拟机的实验报告(共10篇) 服务器配置与管理实验报告实验虚拟机的安装和使用专业网络工程班级XX级网5姓名吴越学号XX指导教师刘仁山 XX年11月1日一.实验目的本次实验的目的为了解虚 ...

  6. 计算机组装与操作系统安装实验报告,操作系统安装实验报告(共10篇).docx

    操作系统的安装实验报告(共10篇) 实验报告 课程名称:网络操作系统实验项目名称:WindowsServerXX的操作系统的安装: RedHatLinux9的操作系统的安装 学生姓名:胡廷专业:计算机 ...

  7. 计算机仿真法 实验报告,计算机仿真氢光谱实验报告(共6篇).doc

    计算机仿真氢光谱实验报告(共6篇) 计算机仿真氢光谱实验报告(共6篇) 物理仿真实验氢氘光谱拍摄实验报告 物理仿真实验 氢氘光谱拍摄实验报告 一.实验目的 1.掌握氢氘光谱各谱线系的规律,即计算氢氘里 ...

  8. 计算机中的二进制实验报告,大学计算机实验报告(共5篇).doc

    大学计算机实验报告(共5篇) 大学计算机实验报告(共5篇) 学号姓名:班级:实验时间: 实验报告表2-1 数值型数据在计算机中的二进制实验记录表 说明:本实验对计算机内存数据的存放拟定为:整数用两个字 ...

  9. 计算机组装报告目录,计算机组装实验报告(共9篇).doc

    计算机组装实验报告(共9篇) 计算机组装实验报告(共9篇) 课程名称:微机组装检测与维护 学生姓名班级学号所在院系专业 日期 琼台师专信息技术系 11 级计算机维护与组装网络虚拟装机教师:王炜琼台师专 ...

最新文章

  1. 计算机网页设计布局与排版研究,论计算机网页设计的布局与排版
  2. java servlet 请求_java servlet请求数据
  3. 并联串联混合的电压和电流_串、并联电路中的电流与电压规律
  4. Java并发编程实战————恢复中断
  5. 认识死锁之死锁的基本概念
  6. 详解API Gateway流控实现,揭开ROMA平台高性能秒级流控的技术细节
  7. ModelCoder中的超密时间模型
  8. 【Kylin】60-20-040-集成-Kylin集成LDAP
  9. 学校的图书馆,很漂亮哦
  10. SteamVR 错误代码 108 / 203 / 208 / 301 / 306 / 308 / 400 / 405 排解方法
  11. 建立windows文件夹快捷方式
  12. java 注解 entity_详解Java中的注解
  13. CSV文件打开看到双引号
  14. Hipster the Kid - “Thinking Of” WA47电子管麦克风录制说唱人声
  15. string类函数和牛客网剑指offer刷题记录
  16. java word转二进制_DWORD WORD到INT的转换
  17. 思维导图训练孩子逻辑思维能力的方法
  18. 蓝牙麦克风 android,带有蓝牙麦克风的Android语音识别器
  19. framework层的event_log分析
  20. 【开源项目学习】源码剖析,学习仿网易云音乐app代码

热门文章

  1. 我的子平真诠学习笔记
  2. MongoDB day03
  3. 数字政府智慧政务一网通办解决方案2022
  4. iPhone/iPad的IAP防破解之第三方服务器二次验证
  5. 弘辽科技:淘宝搜索流量是什么意思?如何提升流量?
  6. Too Good to Be Safe: Tricking Lane Detection in Autonomous Driving with Crafted Perturbations 论文报告
  7. css_属性选择器(根据属性名或属性值设定指定样式)
  8. 精品分享:基于 SpringBoot + Vue 开发的云盘系统(含大文件断点续传剖析)
  9. 如何搭建和使用GNS3服务器
  10. jav中什么是组织java程序_Javs ^运算符在Java中做什么?