用二分法找有序数组中的数
为什么运行之后输入要找的数程序就结束了
望大佬解答
2条回答 默认 最新
- qzjhjxj 2022-01-16 16:09关注
第28行,scanf("%d",&n); n 的前面少了 ‘&’ 符号。void binary_search(int arr[],int n,int sz) 函数里 while(){}的 花括号括错地方了,修改如下,供参考:
#include <stdio.h> #include<string.h> void binary_search(int arr[],int n,int sz) { int mid,left,right; left = 0; right = sz-1; while(left<=right){ mid = (left+right)/2; if(n<arr[mid]){ right = mid-1; } else if(n>arr[mid]){ left = mid+1; } else{ printf("你所要查找的数在数组中的下标为:%d\n",mid); break; } } if(left>right){ printf("没有找到\n"); } } int main() { int arr[] = {1,2,3,4,5,6,7,8,9,10}; int n,sz; sz = sizeof(arr)/sizeof(arr[0]); //求数组长度 printf("请输入要查找的数\n"); scanf("%d",&n); binary_search(arr,n,sz); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥120 计算机网络的新校区组网设计
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据