看商品猜价格:二分法查找
来源:互联网 发布:保健品网络销售怎么样 编辑:程序博客网 时间:2024/05/04 18:38
实例:看商品猜价格
首先出示一件价格在99元以内的商品,参与者要猜出这件商品的价格。在猜价格的过程中,主持人会根据参与者给出的价格,相应地给出“高了”或“低了”的提示。
如果商品的价格是40
二分法猜商品价格:
次数
价格区间
中间值
第 1 次
0~99
50
高了
第 2 次
0~50
25
低了
第 3 次
25~50
≈38
低了
第 4 次
38~50
42
高了
第 5 次
38~42
40
正好
每次都取两个数中间的数,把这个数和最终的数相比较,通过这样的比较,缩小查找的范围,找到最终要找的数。
代码实现:
#include <iostream> #include <stdlib.h>int main(){ int oldprice,price=0,i=0; //oldprice实际商品的价格,price游戏参与者猜的价格 ,i猜的次数 printf("请首先设置商品的真实价格:"); scanf("%d",&oldprice); system("cls"); //清屏 printf("请输入试猜的价格:\n"); while(oldprice!=price) //实际价格和参与者价格不同,继续循环 { i++; printf("参与者:"); scanf("%d",&price); printf("主持人:") ; if(price>oldprice) { printf("高了\n"); } else if(price<oldprice) { printf("低了\n"); } else { printf("恭喜你,答对了,该商品属于你了!\n\n你一共试猜了%d次.\n",i); } } system ("pause");//输出完结果后停在控制台 return 0; }
结果:
二分法可以这么理解:有一块蛋糕,蛋糕上面有一颗草莓,现在要找到这颗草莓的具体,我们先把蛋糕分为两块,在这两块中查找,再将有草莓的那块分为两块,继续这样分下去,最终确定草莓的具体位置(这里是等分为两块,这个例子也可以说的分块查找,但是分块查找与二分法不等价)
二分法查找要求线性表是有序表,即表中结点按关键字有序。只适用于顺序存储结构。二分法查找为保持表的有序性,在顺序结构里插入和删除都必须移动大量的结点。所以二分法查找特别适用于一经建立就很少改动,但又经常需要查找的线性表。
- 看商品猜价格:二分法查找
- 看商品猜价格:二分法查找 .
- 看商品猜价格
- 二分法猜测商品的价格
- 【程序1】看商品猜价格
- 算法之看商品猜价格
- 【程序1】看商品猜价格
- 二分法猜价格
- C语言 二分法 猜价格游戏
- Kotlin 二分法算法游戏--猜价格
- 模拟节目中猜商品的价格
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 基于jQuery实现的标签页
- strlen”: 不能将参数 1 从“TCHAR [261]”转换为“const char *
- java实现K-最近邻算法
- java正则表达式
- Unix程序设计哲学-KISS
- 看商品猜价格:二分法查找
- 黑马程序员--第一阶段5.JavaAPI--第15天
- memcache 查看管理
- restrict关键字
- 程序员学习之路一 泛型列表List<T>基本用法
- linux 下进程间通过信号进行通信的具体实现过程
- DBA的价值不仅仅在于维护数据库本身,而应该在数据存储方案的选择上做出最专业的判断
- HTTP深入浅出 http请求HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HT
- JS跨域请求