include_147 2022-06-13 17:41 采纳率: 100%
浏览 22
已结题

二分法求解过程中if else循环出问题

最近在看b站上的视频学习c语言,他在函数这一节中有一个关于二分法求下标的题,我跟着敲了一遍缺怎么也做不出来,代码如下
#include<stdio.h>
int chazhao(int arr[], int sz, int k)
{
int left = 0;
int right = sz - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (arr[mid] < k)
left = mid + 1;
else if (arr[mid] > k)
right = mid - 1;
else (arr[mid] = k)
return mid; //提示缺少;
}
return -1;
}
int main()
{
int arr[] = { 0,1,2,3,4,5,6,7,8,9,10 }, sz, k;
sz = sizeof(arr) / sizeof(arr[0]);
printf("请输入要查找的数字\n");
scanf_s("%d", &k);
int x=chazhao(arr, sz, k);
if (x = -1)
printf("没有找到该下标\n");
else
printf("该数字的下标是%d\n", x);
return 0;
} //最终结果只会输出没有该下标

  • 写回答

3条回答 默认 最新

  • Kx_Kevin 2022-06-13 18:08
    关注

    if (x = -1)
    printf("没有找到该下标\n");
    if的=改成==就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 6月13日

悬赏问题

  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题