| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 758 人关注过本帖
标题:折半查找!这个程序有什么问题,哪出错?总显示找不到!
只看楼主 加入收藏
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
 问题点数:0 回复次数:5 
折半查找!这个程序有什么问题,哪出错?总显示找不到!

Private Sub Form_Click()
Const N = 10
Dim A(N), I, j, num, top, bot, min, loca As Integer
Dim C, mynum As String
A(0) = 11: A(1) = 12: A(2) = 13: A(3) = 43: A(4) = 55: A(5) = 62
A(6) = 71: A(7) = 80: A(8) = 121: A(9) = 224
For I = 0 To N - 1
Print A(I);
Next
Print

mynum = InputBox("input the find number!", "find")
num = mynum
loca = -1
top = 0: bot = N - 1
If num < A(0) Or num > A(N - 1) Then loca = -2
Do While loca = -1 And top <= bot
min = Int((bot + top) / 2)
If num = A(min) Then
loca = min
Print num & "的位置在第" & loca + 1 & "个"
ElseIf num < A(min) Then
bot = min - 1
Else
top = min + 1
End If
Loop
If loca = -2 Or loca = -1 Then Print "数组中无" & num

End Sub


[此贴子已经被作者于2007-3-28 19:16:24编辑过]

搜索更多相关主题的帖子: 折半 
2007-03-28 16:20
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
Private Sub Form_Click()
Const N = 10
Dim A(N), I, j, mum, top, bot, min, loca As Integer
Dim C, mynum As String
A(0) = 11: A(1) = 12: A(2) = 13: A(3) = 43: A(4) = 55: A(5) = 62
A(6) = 71: A(7) = 80: A(8) = 121: A(9) = 224
For I = 0 To N - 1
Print A(I);
Next
Print

mynum = InputBox("input the find number!", "find")
num =CInt(mynum)
loca = -1
top = 0: bot = N - 1
If num < A(0) Or num > A(N - 1) Then loca = -2
Do While loca = -1 And top <= bot
min = Int((bot + top) / 2)
If num = A(min) Then
loca = min
Print num & "的位置在第" & loca + 1 & "个"
ElseIf num < A(min) Then
bot = min - 1
Else
top = min + 1
End If
Loop
If loca = -2 Or loca = -1 Then Print "数组中无" & num
End Sub


其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-03-28 17:16
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
得分:0 
问题解决了!谢谢!
为什么一定要加上cint呢?输入的整数哦!
2007-03-28 19:16
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
我好像没看到你有定义num

我的msn: myfend@
2007-03-28 19:17
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
以下是引用圣域无敌在2007-3-28 19:16:03的发言:
问题解决了!谢谢!
为什么一定要加上cint呢?输入的整数哦!

InputBox函数已字符串的形式返回文本框的内容,用cint将返回的内容转换为整型


其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-03-28 20:16
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
得分:0 
谢谢!
2007-03-28 20:25
快速回复:折半查找!这个程序有什么问题,哪出错?总显示找不到!
数据加载中...
 
   



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

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