有15个整数按升序排列,输入一个数,用折半查找法判断该数在序列中是否存在,若存在则指出是第几个。
折半查找法:a0.a1.a2.a3.a4.……a14
x<7在0-7找,x>7在7-14找
判断一个数是否在数组中
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 五一编程 2021-11-27 14:50关注
#include<stdio.h> #include<stdlib.h> void main() { int a[15] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; int x, top, mid, bot; top = 0; bot = 14; printf("输入一个数:"); scanf("%d", &x); while (top <= bot){ mid = (top + bot) / 2; if (x == a[mid]) // 是逻辑==,而不是赋值= { printf("输出%d", mid); exit(0); } else if (x>mid) top = mid + 1; else { bot = mid - 1; } } printf("不存在"); return; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 win11 23H2删除推荐的项目,支持注册表等
- ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
- ¥15 qt6.6.3 基于百度云的语音识别 不会改
- ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
- ¥15 神经网络怎么把隐含层变量融合到损失函数中?
- ¥15 lingo18勾选global solver求解使用的算法
- ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码