标题:[求助]帮忙看一下这道程序题啊。。
只看楼主
mokoto
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-1-7
 问题点数:0 回复次数:3 
[求助]帮忙看一下这道程序题啊。。

#define m 5 main() {int i,j; int c; int a[m]; printf("input some numer\n"); for(i=1;i<=m;i++) scanf("%d",&a[i]); printf("input one number\n"); scanf("%d",&j); c=search(a,j); printf("%d",c); }

search(int a[],int k) {int low,mid,high; int n=1; low=0; high=m-1; while(low<=high) {mid=(low+high)/2; if(k==a[mid]) return n; else if(k>a[mid]) {low=mid+1;n++;} else {high=mid-1;n++;} } return -1; }

搜索更多相关主题的帖子: search number return 
2005-04-05 19:45
mokoto
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-1-7
得分:0 
这道题是折半查找。比如输入11个数字,5 12 18 20 35 50 64 72 80 88 95
打进一个50,输出一个1(表示比较1次)
打进一个18或者是80,输出是二
打进1 4 7或2 5 8。输出是三。
我这道程序题次数总是不对。请各位帮我看看吧。
2005-04-05 19:47
mokoto
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-1-7
得分:0 
输入2 5 8是输出四,表示第四次进行比较
2005-04-05 20:17
mokoto
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-1-7
得分:0 
自己解决了.....
2005-04-05 20:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-14877-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020308 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved