您所在位置: 网站首页 / 数据结构实验二报告.docx / 文档详情
数据结构实验二报告.docx 立即下载
2025-08-27
约1.7万字
约29页
0
25KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构实验二报告.docx

数据结构实验二报告.docx

预览

免费试读已结束,剩余 24 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据结构实验二报告

第一篇:数据结构实验二报告数据结构实验二报告——简单计算器姓名:王稀宾班级:06111106学号:1120111699一实验目的按照四则运算加、减、乘、除、幂(^)和括号的优先关系和惯例,编写计算器程序。二实验内容要求:从键盘输入一个完整的表达式,以回车作为表达式输入结束的标志。输入表达式中的数值均为大于等于零的整数。中间的计算过程如果出现小数也只取整。三程序设计程序模块:1输入模块,输入多项式;2计算模块,根据输入内容,判断分析,计算出结果;3输出模块,输出计算结果。定义结构创建结点:typedefstruct{doubledata[50];inttop;}OPND_Stack;//运算符结构体typedefstruct{chardata[50];inttop;}OPTR_Stack;主函数部分:voidmain(){chara[80];intm;charb[80];printf(“============简易计算器============n”);printf(“[四则运算.如:-1+(2+3)*9/(-2)-6].n请输入一个表达式:n”);while(1){gets(a);strcpy(b,a);while(1){intp;m=strlen(a);p=Can(a,m);if(p==0)break;printf(“输入错误.请从新输入表达式:n”);gets(a);strcpy(b,a);}printf(“=*=*=*=*=*=*表达式结果=*=*=*=*=*=*n”);printf(“该表达式的结果为:n%s=%-10.3lfn”,b,EvaluateExpression(a));printf(“=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*n”);printf(“继续使用[四则运算.如:-1+(2+3)*9/(-2)-6]..n请再输入一个表达式:n”);}}四程序调试分析1在四则混合运算中,运算符号的优先级比较难判断。2心得体会:我对编程是有很浓厚兴趣的。在编程的过程中,我深深地体会到力不从心—有些知识没能深入地理解和掌握以及VC++的许多功能没能探索和了解使我编程时有好多的思想运用不上(如设计一个美观的操作界面)。另外,我也感受到了数据结构的重要性,有了结构才能将好的思想付诸实践。同时经过查询资料了解到栈由多种运用方法,其中包括栈的顺序存储结构和链式存储结构,栈是计算表达式的经典应用。数据结构中的许多结构都是很经典思想,只有把编程语言和数据结构都熟练掌握的情况下,才能做出一些很好的作品。在编程过程中,虽然有时候是很发闷的,尤其是程序无错但结果不对,但是在完成一个完整的程序时所带来的喜悦是其它事情所不能替代的。我很喜欢编程,即使我的知识和能力有限,但我相信经过努力,一切皆有可能。五用户使用说明按要求正确输入表达式即可得到结果。六程序运行结果附程序清单#include#include#include//算符优先级表charFirst[7][7]={//'+','-','*','/','(',')','^'/*'+'*/'>','>','','','>','','','>','>','>','','','>','>','>','','','>','>','>','>','>','>',/*')'*/'','','>','>','>','','charOP[7]={'+','-','*','/','(',')','#'};//数据结构体typedefstruct{doubledata[50];inttop;}OPND_Stack;//运算符结构体typedefstruct{chardata[50];inttop;}OPTR_Stack;//初始化运算符栈函数voidInitStack_R(OPTR_Stack*a){a->top=-1;}//初始化数据站函数voidInitStack_D(OPND_Stack*a){a->top=-1;}//运算符进栈函数voidPush_R(OPTR_Stack*a,charb){a->top++;a->data[a->top]=b;}//数据进栈函数voidPush_D(OPND_Stack*a,doubleb){a->top++;a->data[a->top]=b;}//取运算符栈顶符函数voidGetTop_R(OPTR_Stack*a,char*b){*b=a->data[a->top];}//取数据栈顶数函数voidGetTop_D(OPND_Stack*a,double*b){*b=a->data[a->top];}//判断数据是否为运算符函数intIn(chara,char*s){for(inti=0;iif(a==s[i])re
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据结构实验二报告

文档大小:25KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用