在C语言中使用二分法算法思想解决猜商品价格问题

本文介绍了如何运用二分查找法解决电视抽奖活动中的猜商品价格问题。在主持人给出高低提示的情况下,利用C语言实现二分查找算法,通过与中间值比较,快速缩小猜测范围直至找到正确价格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

电视抽奖活动中,根据主持人给出的提示(高了还是低了),观众在规定时间内猜中该商品价格即可获得该商品

在这里插入图片描述

所谓的二分查找法,其实是一种有序的查找方法,也称折半查找(Binary Search),如果是无序的则要先进行排序操作。基本思想是:目标值通过与中间元素比较,可分为三种情况:

第一种情况:目标值与中间元素相等,查找结束;
第二种情况:目标值比中间元素大,则把后半部分的中间元素与目标值比较;
第二种情况:目标值比中间元素小,则把前半部分的中间元素与目标值比较;
这三步一直循环,直到查找结束。

效果如下:
在这里插入图片描述

代码如下:

//
//  main.c
//  数据结构
//
//  Created by ylb on 2019/3/27.
//  Copyright © 2019 ylb. All rights reserved.
//

#include <stdio.h>

int main() {
    
    int oldprice,price=0,i=0;
    printf("请先设置商品的真实价格:");
    scanf("%d",&old
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值