请在 下方输入 要搜索的题目:

有{90,82,70,65,60,55,50,46,40,35}这10个数按由大到小顺序存放在一个数组中,输入一个数num。要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。

有{90,82,70,65,60,55,50,46,40,35}这10个数按由大到小顺序存放在一个数组中,输入一个数num。要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。

发布时间:2025-04-03 04:36:16
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:【计分规则】: #include "stdio.h"#define N 10void main(){ int a[N]={90,82,70,65,60,55,50,46,40,35}, num; int low, high, mid; printf("请输入num:"); scanf("%d", &num); 1分 low=0; high=N-1; 2分 while(low<=high){ mid=(low+high)/2; if(a[mid]==num) break; else if(a[mid]>num) low=mid+1; else high=mid-1; } 6分 if(low<=high) printf("%d是数组中的NO.%d个数", num, mid+1); else printf("无此数", num); 1分}
专业技术学习
专业技术学习
搜搜题库系统