vb作业,随机生成20个100以内的数,然后去掉非质数。求告知哪里错了。 Public Class 20

vb作业,随机生成20个100以内的数,然后去掉非质数。求告知哪里错了。PublicClassForm1PrivateSubButton1_Click(ByValsend... vb作业,随机生成20个100以内的数,然后去掉非质数。求告知哪里错了。
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j, flag As Integer
Dim a(19) As Integer
For i = 0 To 19
a(i) = Rnd() * 99 + 1
Next
i = 0
Do While (i <= UBound(a))
flag = 0
For j = 2 To Int(System.Math.Sqrt(a(i)))
If (a(i) Mod j) = 0 Then
a(i) = a(UBound(a))
i -= 1
ReDim Preserve a%(UBound(a) - 1)
End If
Next
i += 1
Loop
For i = 0 To UBound(a)
Label1.Text &= a(i) & vbCrLf
Next
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = ""
End Sub
End Class
展开
 我来答
听不清啊
高粉答主

2016-05-16 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:2亿
展开全部

Private Sub Command1_Click()

Dim i, j, k As Integer

        Dim a(19) As Integer

        Label1.Caption = ""

        Randomize

        Form1.Cls

        For i = 0 To 19

            a(i) = Rnd() * 99 + 1

            Print a(i);

            If i Mod 10 = 9 Then Print

        Next

        i = 0

        For i = 0 To 19

            For j = 2 To Int(Sqr(a(i)))

                If (a(i) Mod j) = 0 Then Exit For

            Next

            If a(i) > 1 And a(i) Mod j > 0 Then a(k) = a(i): k = k + 1

        Next i

        For i = 0 To k - 1

            Label1.Caption = Label1.Caption & a(i) & vbCrLf

        Next

End Sub

束振锐SA
2016-05-16 · TA获得超过584个赞
知道答主
回答量:1637
采纳率:0%
帮助的人:277万
展开全部
i
追问
什么意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式