




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实践教学实践教学 兰州理工大学兰州理工大学 计算机与通信学院 2010 年春季学期 面向对象面向对象 课程设计课程设计 题 目 迷你计算器设计 专业班级 07 信息与计算科学 2 班 姓 名 杨蕊萌 学 号 07500218 指导教师 张其文 成 绩 摘摘 要要 我们在学习生活中 常会遇到一些繁杂的数值运算 徒手算将是一件非常头 痛的事 这时候我们就必须用到科学计算器 所以便着手开发了这个计算器程 序 以便用于自己的学习工作 人们对计算的要求不断提高 普通的功能简单的仅 能 进行四则运算的计算工具已经不能满足需要 需要一种能进行多种计算 现在 已 经有一些功能较为强大 涵盖面较广的计算软件 而且各种平台的小工具仍不 断 出现 这些大大方便了我们的生活 这个程序可以直接输入数学表达式 不需要任何转换 就可以直接输出数学四 则 运算的结果 并且操作简单 界面清晰 灵活 实用 方便等要求出发 它所 能 完成的主要计算功能有以下几个方面 加法 减法 乘法 除法 求幂 求模 求平方根 求 Sin 求 Cos 求 log 以 10 为底 它让我真正体会到了学以致 用 伴随着经济全球化 计算机的普及发展 软件行业在社会占着举足轻重的作用 借着软件发展的周期 我研究了这个课题 既紧随科技发展的前沿 又方便了 我 们的生活 具有着一定的现实意义 关键字 逻辑结构 存储结构 线形表 计算器 序序 言言 本程序旨在解决生活中常见的运算 但是要做的尽善尽美也是有难度的 对 此 在完善算法本身的同时 尽可能多了的加入了提示语 是其更富有人性化 很 多涉及计算器程序的的算法都是以顺序表的相关操作为基础 通过计算器的设 计 有利于在学习中更好的理解顺序表及其相关的操作 进而更深的掌握线性 表 我们在学习生活中 常会遇到一些繁杂的数值运算 徒手算将是一件非常头痛 的 事 这时候我们就必须用到科学计算器 所以便着手开发了这个计算器程序 以 便用于自己的学习工作 人们对计算的要求不断提高 普通的功能简单的仅能 进 行四则运算的计算工具已经不能满足需要 需要一种能进行多种计算 现在已 经 有一些功能较为强大 涵盖面较广的计算软件 而且各种平台的小工具仍不断 出 现 这些大大方便了我们的生活 这个计算器操作简单 界面清晰 灵活 实用 方便等要求出发 它所能 完 成的主要计算功能有以下几个方面 加法 减法 乘法 除法 cos sin acos asin atan acot log 以 10 为底 ln 幂方等 伴随着经济全球化 计算 机的普及发展 软件行业在社会占着举足轻重的作用 借着软件发展的周期 我研究了这个课题 既紧随科技发展的前沿 又方便了我们的生活 具有一定 的现实意义 1 1 采用类采用类 C C 语言定义相关数据类型语言定义相关数据类型 迷你计算器设计的实现有以下步骤 a 数据结构的选用 b 整数和浮点数的输入 c 整数和浮点数的加减乘除 cos sin tan cot log 以 10 为底 等运 算 d 整数和浮点数的简单混合运算 e 括号及各种运算符的混合使用 f 退出 1 定义堆栈 typedef struct double data M int top Stack 说明 double data M 用于存放转换后的数值 top 为栈中元素编号 定义为整 型变量 2 定义顺序结构线性表即一维数组 char str M c int a int n p1 p2 p3 说明 str M 为一维数组 n 为字符串长度 p1 p2 p3 分别为数字字符起始位置 结束位置 小数点位置 3 定义存储操作符和操作数的栈 Stack optr Stack malloc sizeof Stack Stack opnd Stack malloc sizeof Stack 说明 optr 存储操作符 1 2 3 4 5 字符 opnd 存储操作数 2 2 各模块流程图及伪码算法 各模块流程图及伪码算法 1 设置各按键所代表的字符 void init int i for i 0 i 130 i pan i 0 pan 37 pan 47 pan 42 pan 43 pan 45 pan 46 pan 94 pan 40 pan 41 for i 48 i 57 i pan i char i for i 97 i 122 i pan i char i 2 计算器函数 界面的设置和各按键的设置 void computer void struct viewporttype vp 定义视口类型变量 int color int x y x0 y0 i j v m n char cnum 20 str2 100 ss 100 c 100 temp 100 char str1 42 8 sin cos e Back C tan cot ln 7 8 9 asin acos log 4 5 6 atan acot p 1 2 3 0 EXIT 定义字符串在按钮图形上显示的符号 mwindow Calculator 显示主窗口 color 7 设置灰颜色值 getviewsettings 读取当前窗口的大小 width vp right 1 13 设置按钮宽度 height vp bottom 10 13 设置按钮高度 x width 设置 x 的坐标值 y height 设置 y 的坐标值 setfillstyle SOLID FILL color 3 bar x width 2 y x 10 width width 2 y height 5 画一个二维矩形条显示运算数和结果 setcolor color 3 设置淡绿颜色边框线 rectangle x width 2 y x 10 width width 2 y height 5 画 一个矩形边框线 setcolor RED 设置颜色为红色 outtextxy x 10 width 16 y height 2 0 输出字符串 0 blos time biostime 0 0 point x 10 width 9 光标置于首位 color guang BLUE x 2 width width 2 设置 x 的坐标值 y 3 height height 2 设置 y 的坐标值 for j 0 j 6 j 画按钮 for i 0 i x0 8 width 如果右移 移到尾 则移动到最左边字符位置 x x0 m 0 else if m 2 m 5 else x x width width 2 m 否则 右移到下一个字符位置 if v LEFT m 6 如果移到头 再左移 则移动到最右边字符位置 else if n 0 m 2 else x x width width 2 m 否则 左移到前一个字符位置 if v UP 上移箭头时新位置计算 if y 9 height n 1 else if y 9 height n 1 else y y0 n 0 如果移到尾 再下移 则移动到最上边字符位置 else y y height height 2 n 否则 移到下边一个字符位置 putimage x y rar XOR PUT 在新的位置显示鼠标箭头 if v 130 if strlen str2 strlen temp 38 insert str2 temp strlen str2 cha ru 1 将 temp 中的字符串连接到 str2 中 textoutput str2 else if v Back Space delete str2 strlen str2 cha ru 1 textoutput str2 else if v Tab if hudu yes RED hudu yes BLUE else hudu yes RED setfillstyle SOLID FILL hudu yes setcolor hudu yes circle 7 width 7 3 height height 2 14 5 floodfill 7 width 7 3 height height 2 14 hudu yes setfillstyle SOLID FILL BLACK bar 7 width 17 3 height height 2 8 7 width 27 3 height height 2 22 setcolor YELLOW if hudu yes RED degree or radion 1 0 outtextxy 7 width 22 3 height height 2 14 R else degree or radion zhuanhuan outtextxy 7 width 22 3 height height 2 14 D setcolor RED else if v 61 当按下的是等号键时 strcpy ss str2 conpute str2 if flage 0 textoutput ERROR for i 0 i 200 i delay 1000 strcpy str2 ss textoutput str2 else if flage 2 textoutput E strcpy str2 strcpy temp cha ru 1 point 11 width 9 else textoutput str2 strcpy temp strcpy str2 cha ru 1 point 11 width 9 else if v ESC exit 0 else if v Page Up setcolor 10 outtextxy point height height 2 5 覆盖前面的光标 outtextxy point height height 2 4 point 8 cha ru if point 11 width 4 point 11 width 12 8 strlen str2 4 cha ru strlen str2 1 color guang 10 strcpy c str1 n 7 m if strcmp c EXIT 0 exit 1 if strcmp c Back 0 strcmp c C 0 if strcmp c Back 0 delete str2 strlen str2 cha ru 1 else strcpy str2 textoutput str2 else if strcmp c 0 strcpy ss str2 conpute str2 if flage 0 textoutput ERROR for i 0 i 200 i delay 1000 strcpy str2 ss textoutput str2 else if flage 2 textoutput E strcpy str2 strcpy temp cha ru 1 point 11 width 9 else textoutput str2 strcpy temp strcpy str2 cha ru 1 point 11 width 9 else sprintf temp s c 将字符保存到字符串变量 temp 中 if strlen str2 strlen temp 0 middle j e i else if e i while e i 1 i if e i 1 e i 1 i middle j middle j 0 i opst top else if e i t top 1 while opst t middle j middle j opst top t top 1 top else if is operation e i while priority opst top 1 priority e i middle j middle j opst top middle j opst top e i else flage 0 return 0 0 i while top middle j opst top middle j return end dowith middle void change double result char s long t char str MAX LONG long k 9 i if flage 1 return strcpy s if fabs result 0 0000000005 strcpy s 0 return if result 0 000000001 strcat s result 1000000000 t long result while t 10 0 k result double t while t t 10 k for i 0 i k i strcat s 0 t long result ltoa t str 10 strcat s str return 4 字符串的显示 void textoutput char str 显示字符串 setfillstyle SOLID FILL 10 bar width width 2 height 11 width width 2 2 height 5 setcolor RED outtextxy 11 width 12 4 strlen str height height 2 str 显示字符串 流程图流程图 initialize 函数的调用 Computer 函数的调用 Init 函数的调用 2 函数的调用关系图 主函数 Main 图形函数 initialize 运行计算器函数 computer 系统关闭图形模式返回文本模式函数 closegraph 各按键代表值函数 init 4 4 调试分析 调试分析 a a 调试中遇到的问题及对问题的解决方法调试中遇到的问题及对问题的解决方法 在第次做的过程中我只考虑到了迷你计算器功能的实现 而没考虑到界面的问 题 在第二次做好有界面输入时 它的功能也过于简单 只有加减乘除等基本 四则运算 在我第三次修改后就得到了现在的程序 它增强了以前的功能 并 有比较友好输入界面 b b 算法的时间复杂度和空间复杂度 算法的时间复杂度和空间复杂度 画按钮的时间复杂度为 O n2 判断操作符的优先级 初始化按键值都为 O n 计算操作数的值为 O n2 C 使用方法 使用方法 本计算机功能 主要是计算 由 sin cos tan cot asin acos atan acot ln log 以 10 为底 求幂 运算符组成的混合运算 表达式 的值 比如说输入下表达式 后面 是计算器计算的结果 2 3 6 2 sin 30 20 5 sin p 8 0 382683432 p 表示 弧 度计算 log 100 2 sin p 2 1 707570176 ln e 2 2 sin 125 0 819152044 以度数计算 asin 3 4 48 590377891 度数输出 2 3 6 等运算 按键设置 计算器有键盘输入 也有 鼠标 不是那种真的用鼠标哦 是键盘控制 的 点击输入两种方式 注意一点的是 按键键盘上的 为输出结果 这与一些其他计算器 一般用 ENTER 键 有点不一样 方向键用来调节 鼠标 移动 Tab 键用来调节 弧度 度数 PageUp 输入光标前进 即当你要输入一个表达式时候 可以用它来调节 光标的位置 PageDown 输入光标后退 Esc 键 退出 然后其他需要的符号都如键盘上一样 只是大写的不能读入 5 测试结果 测试结果 1 加法举例 1 2 加法运算结果为 3 2 正弦求值 sin30 运行结果为 0 5 3 反余弦求值 arcos0 5 运行结果为 60 4 除法举例 1 3 运行结果为 0 333333333 小数点后精确 9 位 5 当输入不能运行的计算时 1 0 提示错误 E 6 带括号的混合运算 1 2 4 运行结果为 12 总总 结结 在这三周的数据结构课程设计中 我的题目是 迷你计算器的设计 这三周课 程设计中 通过该题目的设计过程 我加深了对顺序表的输入 计算和输出的理 解 对顺序表基本运算的实现有所掌握 对课本中所学的各种数据结构进一步理 解和掌握 学会了如何把学到的知识用于解决实际问题 锻炼了自己动手的能力 一个人要完成所有的工作是非常困难和耗时的 在以后的学习中我会更加 注意各个方面的能力的协调发展 在课程设计时遇到了很多的问题 在老师的 帮 助 和对各种资料的查阅中 将问题解决 培养了我自主动手 独立研究的能 力 为今后在学习工作中能更好的发展打下了坚实的基础 三周的课程设计很短暂 但其间的内容是很充实的 在其中我学习到了很多平时书本中无法学到的东西 积累了经验 锻炼了自己分析问题 解决问题的能力 并学会了如何将所学的 各 课知识融会 组织 来配合学习 三周中我收益很大 学到很多 参考文献参考文献 1 严蔚敏 吴伟民 数据结构 C 语言版 清华大学出版社 2 严蔚敏 吴伟民 数据结构题集 C 语言版 清华大学出版社 3 DATA STRUCTURE WITH C William Ford William Topp 清华大 学出版社 影印版 4 谭浩强 c 语言程序设计 清华大学出版社 5 数据结构与算法分析 Java 版 A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A Shaffer 张铭 刘 晓丹译 电子工业出版社 2001 年 1 月 致致 谢谢 首先感谢我的指导老师张永老师 他在我的课程设计过程中提出了指导性 的 方案和架构 并指引我阅读相关的资料和书籍 使我在不熟悉的领域中仍能迅 速 掌握新的技术 他在我编程的过程中不断的给我们建议 我们在张永老师一遍又一遍的指 导 下 反复的修改 调试程序最后才写出了这样的程序 我的同学在设计完成后对程序的测试 没有他们 也许就难以发现一些潜 在 的错误 在此一并表示感谢 附录 源程序 含基本算法及带注释 附录 源程序 含基本算法及带注释 include DOS 接口函数 include 数学函数的定义 include 屏幕操作函数 include I O 函数 include 库函数 include include include 变量长度参数表 include 图形函数 include 字符串函数 include 字符操作函数 void rar 全局变量 保存光标图象 struct palettetype palette 使用调色板信息 int GraphDriver 图形设备驱动 int GraphMode 图形模式值 int ErrorCode 错误代码 int MaxColors 可用颜色的最大数值 int MaxX MaxY 屏幕的最大分辨率 double AspectRatio 屏幕的像素比 char pan 130 键盘输入字符 int hudu yes RED 标记 三角函数的单位 弧度 radion RED 度数 degree BLUE int point 光标的位置 int color guang 光标的颜色 int height 单位 高度 int width 单位 宽度 int cha ru 1 从光标处插入字符 long blos time int flage double degree or radion 1 0 弧度与度数之间的转换 define UP 0 x48 光标上移键 define DOWN 0 x50 光标下移键 define LEFT 0 x4b 光标左移键 define RIGHT 0 x4d 光标右移键 define ENTER 0 x0d 回车键 define ESC 27 退出键 define Back Space 8 后退键 define Tab 9 切换弧度与度数的键 define Page Up 73 光标左移动 define Page Down 81 光标右移动 define zhuanhuan 0 01745329251994329577 等于 180 define MAX LONG 1000 输入表达式的最长长度 void init 初始化 按键 所代表的字符 void drawboder void 画边框函数 void initialize void 初始化函数 void computer void 计算器计算函数 void changetextstyle int font int direction int charsize 改变文本样式函数 void mwindow char header 窗口函数 int specialkey void 获取特殊键函数 int arrow 设置箭头光标函数 void conpute char str2 计算表达式的值 double readnumber char middle long i 将连续数字字符读取出来 并转化为长整形 long is operation char c 判断字符 C 是否为算符 double end dowith char middle 将中缀转化为后缀的形式 long priority char c 判断操作符的优先级别 double jisuan char e 计算后缀表达式的值 void change double result char s 将结果转化为字符型 void check str char str void textoutput char str 显示字符串 void xianshi 光标显示 void insert char str2 char str1 int location 将字符串 str1 在 location 位置插入字符 串 str2 中 void delete char str2 int location 将字符串 str2 中第 location 个字符删除 主函数 int main init initialize 设置系统进入图形模式 computer 运行计算器 closegraph 系统关闭图形模式返回文本模式 return 0 结束程序 void init int i for i 0 i 130 i pan i 0 pan 37 pan 47 pan 42 pan 43 pan 45 pan 46 pan 94 pan 40 pan 41 for i 48 i 57 i pan i char i for i 97 i 122 i pan i char i 设置系统进入图形模式 void initialize void int xasp yasp 用于读 x 和 y 方向纵横比 GraphDriver DETECT 自动检测显示器 initgraph 初始化图形系统 ErrorCode graphresult 读初始化结果 if ErrorCode grOk 如果初始化时出现错误 printf Graphics System Error s n grapherrormsg ErrorCode 显示错误代码 exit 1 退出 getpalette 读面板信息 MaxColors getmaxcolor 1 读取颜色的最大值 MaxX getmaxx 读屏幕尺寸 MaxY getmaxy 读屏幕尺寸 getaspectratio 拷贝纵横比到变量中 AspectRatio double xasp double yasp 计算纵横比值 计算器函数 void computer void struct viewporttype vp 定义视口类型变量 int color int x y x0 y0 i j v m n char cnum 20 str2 100 ss 100 c 100 temp 100 char str1 42 8 sin cos e Back C tan cot ln 7 8 9 asin acos log 4 5 6 atan acot p 1 2 3 0 EXIT 定义字符串在按钮图形上显示的符号 mwindow Calculator 显示主窗口 color 7 设置灰颜色值 getviewsettings 读取当前窗口的大小 width vp right 1 13 设置按钮宽度 height vp bottom 10 13 设置按钮高度 x width 设置 x 的坐标值 y height 设置 y 的坐标值 setfillstyle SOLID FILL color 3 bar x width 2 y x 10 width width 2 y height 5 画一个二维矩形条显示运算数和结果 setcolor color 3 设置淡绿颜色边框线 rectangle x width 2 y x 10 width width 2 y height 5 画一个矩形边框线 setcolor RED 设置颜色为红色 outtextxy x 10 width 16 y height 2 0 输出字符串 0 blos time biostime 0 0 point x 10 width 9 光标置于首位 color guang BLUE x 2 width width 2 设置 x 的坐标值 y 3 height height 2 设置 y 的坐标值 for j 0 j 6 j 画按钮 for i 0 i x0 8 width 如果右移 移到尾 则移动到最左边字符位置 x x0 m 0 else if m 2 m 5 else x x width width 2 m 否则 右移到下一个字符位置 if v LEFT m 6 如果移到头 再左移 则移动到最右边字符位置 else if n 0 m 2 else x x width width 2 m 否则 左移到前一个字符位置 if v UP 上移箭头时新位置计算 if y 9 height n 1 else if y 9 height n 1 else y y0 n 0 如果移到尾 再下移 则移动到最上边字符位置 else y y height height 2 n 否则 移到下边一个字符位置 putimage x y rar XOR PUT 在新的位置显示鼠标箭头 if v 130 if strlen str2 strlen temp 38 insert str2 temp strlen str2 cha ru 1 将 temp 中的字符串连接到 str2 中 textoutput str2 else if v Back Space delete str2 strlen str2 cha ru 1 textoutput str2 else if v Tab if hudu yes RED hudu yes BLUE else hudu yes RED setfillstyle SOLID FILL hudu yes setcolor hudu yes circle 7 width 7 3 height height 2 14 5 floodfill 7 width 7 3 height height 2 14 hudu yes setfillstyle SOLID FILL BLACK bar 7 width 17 3 height height 2 8 7 width 27 3 height height 2 22 setcolor YELLOW if hudu yes RED degree or radion 1 0 outtextxy 7 width 22 3 height height 2 14 R else degree or radion zhuanhuan outtextxy 7 width 22 3 height height 2 14 D setcolor RED else if v 61 当按下的是等号键时 strcpy ss str2 conpute str2 if flage 0 textoutput ERROR for i 0 i 200 i delay 1000 strcpy str2 ss textoutput str2 else if flage 2 textoutput E strcpy str2 strcpy temp cha ru 1 point 11 width 9 else textoutput str2 strcpy temp strcpy str2 cha ru 1 point 11 width 9 else if v ESC exit 0 else if v Page Up setcolor 10 outtextxy point height height 2 5 覆盖前面的光标 outtextxy point height height 2 4 point 8 cha ru if point 11 width 4 point 11 width 12 8 strlen str2 4 cha ru strlen str2 1 color guang 10 strcpy c str1 n 7 m if strcmp c EXIT 0 exit 1 if strcmp c Back 0 strcmp c C 0 if strcmp c Back 0 delete str2 strlen str2 cha ru 1 else strcpy str2 textoutput str2 else if strcmp c 0 strcpy ss str2 conpute str2 if flage 0 textoutput ERROR for i 0 i 200 i delay 1000 strcpy str2 ss textoutput str2 else if flage 2 textoutput E strcpy str2 strcpy temp cha ru 1 point 11 width 9 else textoutput str2 strcpy temp strcpy str2 cha ru 1 point 11 width 9 else sprintf temp s c 将字符保存到字符串变量 temp 中 if strlen str2 strlen temp 10L 光标的闪烁控制 blos time biostime 0 0L if color guang 10 color guang BLUE else color guang 10 setcolor color guang outtextxy point height height 2 5 光标画出 outtextxy point height height 2 4 void delete char str2 int location 将字符串 str2 中第 location 个字符删除 int i location for i location i location length1 i str2 i str2 i length1 str2 length2 length1 0 for i location j 0 i 8 只取特殊键的扫描值 其余为 0 return key 返回键值 void check str char str int num 0 i 0 j 0 char s MAX LONG 0 c while str i 0 if str i 0 将 stir i 代表的值赋给字符 c else switch str i 以下是调试输入除以上字符外的字符用于运算符号的输入 case num c break case num if num 0 flage 0 return c break case s if str i 1 i str i 2 n flage 0 return c A i 2 break case c if str i 1 o str i 2 s return if str i 2 s c B else c D i 2 break case l if str i 1 n return if str i 1 n i 1 c E else i 2 c F break case t if str i 1 a str i 2 n flage 0 return c C i 2 break case a i switch str i case s if str i 1 i str i 2 n flage 0 return c G i 2 break case c if str i 1 o str i 2 s return if str i 2 s c H else c J i 2 break case t if str i 1 a str i 2 n flage 0 return c I i 2 break default flage 0 return break default flage 0 return s j c i s j 0 strcpy str s return double readnumber char middle long i 将连续数字字符读取出来 并转化为长整形 char shu 100 long k while middle i 9 for k 0 middle i 0 if is operation middle i c 为运算符时调节 check 1 switch middle i case x2 data top x1 data top if top 0 flage 0 return 0 0 data top x1 x2 break case x2 data top x1 data top if top 0 flage 0 return 0 0 data top x1 x2 break case x2 data top x1 data top if top 0 flage 0 return 0 0 data top x1 x2 break case x2 data top x1 data top if x2 0 top 0 if x2 0 flage 2 else flage 0 return 0 0 data top x1 x2 break case x2 data top x1 data top if x1 0 top 0 if x1 0 flage 2 else flage 0 return 0 0 data top pow x1 x2 break case A x1 data top if top 0 flage 0 return 0 0 data top sin x1 degree or radion break case B x1 data top if top 0 flage 0 return 0 0 data top cos x1 degree or radion break case C x1 data top if top 0 flage 0 return 0 0 data top tan x1 degree or radion break case D x1 data top if top 0 flage 0 return 0 0 data top 1 tan x1 degree or radion break case E x1 data top if x1 0 top 0 if x1 0 flage 2 else flage 0 return 0 0 data top log x1 break case F x1 data top if x1 0 top 0 if x1 1 top 0 if top 1 top 0 if top 0 flage 0 else flage 2 return 0 0 data top acos x1 degree or radion break case I x1 data top if top 0 flage 0 return 0 0 data top atan x1 degree or radion break case J x1 data top if top 0 middle j e i else if e i while e i 1 i if e i 1 e i 1 i middle j middle j 0 i opst top else if e i t top 1 while opst t middle j middle j opst top t top 1 top else if is operation e i while priority opst top 1 priority e i middle j middle j opst top middle j opst top e i else flage 0 return 0 0 i while top middle j opst top middle j return end dowith middle void change double result char s 将结果转化为字符型 long t char str MAX LONG long k 9 i if flage 1 return strcpy s if fabs result 0 0000000005 strcpy s 0 return if result 0 000000001 strcat s result 1000000000 t long result while t 10 0 k result double t while t t 10 k for i 0 i k i strcat s 0 t long result ltoa t str 10 strcat s str return void conpute char str2 计算表达式的值 flage 1 check str str2 change jisuan str2 str2 return 1 1 线型结构 线型结构 include include include typedef struct node int data struct node next lnode void main int i n lnode p s q head printf n Please input the number of the node scanf d if ndata n head next NULL p head for i 0 idata p next s p p next p next NULL q head next while q NULL printf d q data q q next 2 2 树形结构 树形结构 include include struct tree char data struct tree left struct tree right typedef struct tree treenode typedef treenode btree btree createbtree int data int poss btree newnode if data pos 0 pos 7 return NULL else newnode btree malloc sizeof treenode newnode data data pos newnode left creatbtree data 2 pos newnode right createbtree data 2 pos 1 return newnode void inorder btree ptr if ptr NULL inorder ptr left printf c ptr data inorder ptr right void preorder btree ptr if ptr NULL printf c ptr data preorder ptr left preorder ptr right void postorder btree ptr if ptr NULL postorder ptr left postorder ptr right printf c ptr data int cal btree ptr int operand1 0 int operand2 0 if ptr left NULL operand cal ptr le
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年赣美版(2024)小学美术三年级上册《体验先民生活》教学设计
- 弹药工程专业试题及答案
- Unit 2 Out of this world单元检测(含解析)译林版(2019) 选择性必修 第三册
- 电信通讯业市场前瞻预测报告
- 可再生能源市场发展现状分析
- 广东省高新技术产品出口竞争力分析
- 关于我国互联网金融发展问题的反思
- 415国家安全教育日活动方案范文范文策划
- 玻璃厂人员招聘计划管理规章
- 皮肤性病学试题题库及答案
- 检验科异常结果管理制度
- 化学使世界变得更加绚丽多彩
- 小学五年级上册综合实践活动全册教案
- 心理健康教育《我上学了》
- 冲压工艺培训课件
- 2025至2030中国移民服务行业市场发展现状及前景趋势与发展趋势分析与未来投资战略咨询研究报告
- 2025年中国电信招聘笔试参考题库附带答案详解
- 2025秋部编版(2024)八年级上册道德与法治 【教学课件】1.1《认识社会生活》
- 2025年重庆市高考历史试卷真题(含答案)
- 小学科学社团创客空间计划
- 租车紧急预案管理制度
评论
0/150
提交评论