折半查找法猜篮球的价格Word文档格式.docx
- 文档编号:3194823
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:12
- 大小:171.39KB
折半查找法猜篮球的价格Word文档格式.docx
《折半查找法猜篮球的价格Word文档格式.docx》由会员分享,可在线阅读,更多相关《折半查找法猜篮球的价格Word文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
三、课程设计要求
1.程序质量:
✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“输入篮球价格”、“计算器开始猜测”、“退出”3项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2.课程设计说明书:
课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩:
六、教师评语:
目录
一、需求分析1
二、程序流程图2
三、核心技术的实现说明及相应程序段5
四、个人总结7
五、参考文献8
六、源程序8
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:
输入篮球价格函数(getprice),猜测篮球价格函数(guessprice),以及主函数(main)。
1、输入篮球价格函数主要实现程序最初运行时用户对篮球价格的设定(价格在1-200元之间,并且为整数);
2、猜测篮球价格函数实现的功能是让计算器从1元开始用折半法猜测篮球的价格。
;
3、主函数实现的是程序界面的打印,以及根据用户输入的指令实现功能函数的调用。
二、程序流程图
1、程序总体结构图
图1程序总体结构图
2、具体功能框图
(1)输入篮球价格函数(getprice)
定义变量初始化
当输入价格不在1-200元以内
提示用户输入篮球价格
输入价格给变量price
把price值带回主函数
图2添加学生数据函数
图2输入篮球价格函数流程图
(2)猜测篮球价格函数(guessprice)
变量初始化
mid=(low+high)/2;
当赋给mid的值不等于真实价格时
输入字符串判断是否偏高
是
否
把mid+1的值赋值
给low变量
把mid-1的值赋值
给high变量
图3猜测篮球价格函数流程图
三、核心技术的实现说明及相应程序段
本程序主要由两个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。
在这些函数当中,输入篮球价格函数和猜测篮球价格函数是程序中较为核心的部分,下面进行说明。
1、输入篮球价格函数
用户输入一个价格,对这个PRICE进行讨论。
把价格限制在1—200内,如不在这个范围内的话会输出:
“请输入价格(在1~200元之间,并且为整数):
”直到输入的在1-200之间才会进行运算。
intgetprice(void)
{
intprice;
while(price<
1||price>
200)
{
printf("
请输入价格(在1~200元之间,并且为整数):
"
);
scanf("
%d"
&
price);
}
return(price);
图4程序主界面
2、猜测篮球价格函数
定义了两个整型变量,low,high.这分别是1,200。
用折半法来运算:
while((mid=(low+high)/2)!
=price),如果猜测的比实际的高了。
你就输入“高”,若低了你就输入“低”。
具体的程序段如下:
voidguessprice(intprice)
{
intmid,low=1,high=200;
chars[20]={"
"
};
while((mid=(low+high)/2)!
=price)
printf("
计算机猜测的价格是:
%d\n"
mid);
如果价格高,请输入“高”;
如果价格低,请输入“低”\n"
if(strcmp(gets(s),"
高"
)==0)
high=mid-1;
elseif(strcmp(s,"
低"
low=mid+1;
}
猜测结果正确,篮球的价格是%d\n"
mid);
图5程序运行截图
四、个人总结
在这次课设中我对计算机的c语言程序设计学习又有了更深的认识。
单独面对课题时根本没有思路,比如说什么叫折半法,是通过老师讲解才知道是什么原理,学会利用图书馆的相关资料去帮助我的题目,在老师的帮助和指导下,让我学到了程序的运行等等。
通过这次课设,让我知道计算机的程序还有很多要学习和理解的,它对日后的的毕业设计和工作都会有帮助的,我会继续努力的。
五、参考文献
1谭浩强.C程序设计.北京:
清华大学出版社,2007
2刘振安等.C程序课程设计.机械工业出版社.2004
六、源程序
#include<
stdio.h>
string.h>
stdlib.h>
/*为exit函数所在的头文件*/
conio.h>
/*为getch函数所在的头文件*/
voidmenu();
intprice;
while(price<
{
scanf("
intmid,low=1,high=200;
chars[20]={"
如果价格高,请输入高;
如果价格低,请输入低\n"
if(strcmp(gets(s),"
)==0)
high=mid-1;
elseif(strcmp(s,"
main()
printf
("
****************************************************\n"
*****************************************************\n"
***********欢迎使用折半查找法猜篮球价格程序**********\n"
******************输入s输入篮球价格*****************\n"
********************输入u开始猜测*******************\n"
********************输入n退出程序*******************\n"
***************************************************\n"
while
(1)
switch(getch())
case'
s'
:
price=getprice();
break;
u'
guessprice(price);
n'
exit(0);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 折半 查找 篮球 价格