Dim a%(1 To 10), i%, n%, su%,
vb吧
全部回复
仅看楼主
level 3
2934189054whs 楼主
Dim a%(1 To 10), i%, n%, su%, he%, t As Boolean, b%(1 To 10), j%
he = 10: su = 1
For i = 1 To 10
Randomize
a(i) = Int(Rnd * 71 + 30)
Print a(i)
t = True
For n = 2 To a(i) - 1
If a(i) Mod n = 0 Then
t = False
Exit For
End If
Next n
If t = True Then
su = su + 1: b(su) = a(i)
Label1.Caption = Label1.Caption & b(su) & " "
Else
he = he - 1: b(he) = a(i)
Label1.Caption = Label1.Caption & b(he) & " "
运行时,为什么两组数据是一样的,要怎么另一组才能前面素数,后面合数?
2020年05月15日 08点05分 1
level 15
哈?你刚才发的图里可不是这么写的,没有Label1.Caption这些东西啊
换句话说,Label1.Caption所在的语句,你写错位置了
而且,这也不是完整代码啊,后面的代码呢?(提示:后面还应该再写一个循环,用来输出数组b)
2020年05月15日 08点05分 2
level 3
2934189054whs 楼主
这个是我改后的程序,已经是最后了,如果不这样写怎么打印出来呀,我有用过循环可是还是不行[泪]
2020年05月15日 08点05分 3
level 11
我就很奇怪,我为什死活都记不住%!这些代表什么数据类型。
为啥记不住?
为啥?

2020年05月15日 08点05分 4
level 15
Dim a%(1 To 10), i%, n%, su%, he%, t As Boolean, b%(1 To 10), j%
he = 11: su = 0
For i = 1 To 10
Randomize
a(i) = Int(Rnd * 71 + 30)
Print a(i);
t = True
For n = 2 To a(i) - 1
If a(i) Mod n = 0 Then
t = False
Exit For
End If
Next n
If t Then
su = su + 1: b(su) = a(i)
Else
he = he - 1: b(he) = a(i)
'---分割线,下面就是你应该补充的代码---
End If
Next i
Print
For i = 1 To 10
Print b(i);
Next i
2020年05月15日 09点05分 5
level 3
2934189054whs 楼主
为什么he=10会下标越界的,他的初始值不应该是10,我搞不懂这个
2020年05月15日 09点05分 6
首先,he的初始值不是10而是11;其次,为什么会下标越界?当he=10时,不会发生下标越界;如果发生了下标越界,你应该看看此时he等于多少,或者真正导致下标越界的那个变量等于多少
2020年05月15日 09点05分
好的,我懂了,谢谢你
2020年05月15日 11点05分
1