各位VB高手帮个忙啊

本人初学VB,版本是6.0的有一题目是这样的..编程产生50个-5~5之间的随机整数,存放到数组A中,将出现次数最多的那个数打印出来(注意,可能不止一个),并输出出现的次... 本人初学VB,版本是6.0的
有一题目是这样的..

编程产生50个-5~5之间的随机整数,存放到数组A中,将出现次数最多的那个数打印出来(注意,可能不止一个),并输出出现的次数.

建议以下程序段使用进程序中...
Dim a(11) As Integer
For i = 1 To 50
x = Int(Rnd * 11 - 5)
If x < 0 Then x = Abs(x) + 5
a(x) = a(x) + 1
Next i
展开
 我来答
力波鸿0i
2008-02-16 · TA获得超过1259个赞
知道小有建树答主
回答量:461
采纳率:100%
帮助的人:360万
展开全部
'若要每次随机数不一样加:
Randomize Timer
Dim a(11) As Integer
For i = 1 To 50
x = Int(Rnd * 11 - 5)
'If x < 0 Then x = Abs(x) + 5 这句不需要
'用这句:
x=x+5
a(x) = a(x) + 1
Next i

s="-5"
max=a(0)
For i = 1 to 10
if a(i) = max then s=s+" " & (i-5) '若等于max的次数就加入该数
if a(i) > max then s="" & (i-5):max=a(i)
next
Debug.Print "出现次数最多:" + s '输出到即时窗口,可以改成文本框等
Debug.Print "出现:" & max & "次"
'想分离最多数用下面的代码:
' dim p() as string
'p=split(s," ")
'for i= 0 to ubound(p)
' Debug.Print val(p(i)) '输出
'next
badlinux
2008-02-16 · TA获得超过2412个赞
知道大有可为答主
回答量:3799
采纳率:0%
帮助的人:1794万
展开全部
50个随机数a(),你a()才定义了12个,开玩笑吧,你给的代码有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zj_13924
2008-02-16 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:0
展开全部
数组下标越界!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式