提示下标越界,怎么解决啊?谢谢
要随即产生10个从小到大的数,存到数组里。看看是怎么回事啊!谢谢!
本人很菜,要考二级。
Private Sub Form_Click()
Dim s(1 To 10), n%
s(1) = Int(Rnd * 301 + 100)
n = 2
c = 0
Do While n <= 10
c = Int(Rnd * 301 + 100)
For j = 1 To n - 1
If s(j) < c Then
s(n) = c
n = n + 1
Else
c = c + 1
If c = 400 Then
Exit Do
End If
End If
Next j
Loop
For i = 1 To 10
Print s(i);
Next i
End Sub
问题点数:20、回复次数:10Top
1 楼bbhere(俺是二等小兵(baby,i'll be right here waiting for you))回复于 2006-03-10 11:20:08 得分 1
For i = 0 To 9
Print s(i);
Next iTop
2 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-03-10 11:23:49 得分 1
先随机产生10个数,在按大小排序!不是也一样么?Top
3 楼fxj331072(白天与黑夜)回复于 2006-03-10 11:24:57 得分 0
我也报的2级,哈哈`~4月1日考Top
4 楼fxj331072(白天与黑夜)回复于 2006-03-10 11:31:51 得分 0
Dim s(1 To 10), n%
n% 是什么意思?Top
5 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-03-10 11:37:23 得分 0
n% 和dim n as integer 一样
Top
6 楼dfdd007()回复于 2006-03-10 11:41:48 得分 0
它提示“下标越界”,调试时停在了s(n) = c这里
这到底身怎么回事啊?该怎么改!
主要是题目里要让这样弄,直接比较大小,确定是否存放到数组里,
所以我就没有随即产生,再排序Top
7 楼fxj331072(白天与黑夜)回复于 2006-03-10 11:42:34 得分 18
dim a(1 to 10) as integer
dim i as integer
for i=1 to 10
a(i)=int(rnd * 100-5)
next i
for i=1 to 9
for j=i+1 to 10
if a(j)< a(i)
t=a(i)
a(i)=a(j)
a(j)=t
and if
next j
next i
text1.text=text1.text & a(i) & " "
Top
8 楼fxj331072(白天与黑夜)回复于 2006-03-10 11:43:37 得分 0
这个好象简单点,最后改成:
For i = 1 To 10
text1.text=text1.text & a(i) & " "
Next iTop
9 楼dfdd007()回复于 2006-03-10 11:58:40 得分 0
谢谢!看来我不应该再钻牛角尖了,解决的办法有好多Top
10 楼dfdd007()回复于 2006-03-10 12:05:52 得分 0
就这样吧Top




