VB求素数问题,提示:须使用双分支选择结构。

(1)须在文本框1中输入一个大于30的整数,若不符合要求,单击“产生素数”按钮时,则给出错误提示,并使文本框内容呈选中状态,做好输入的准备;若大于30,产生小于等于此数的所有素数,并显示在列表框;
(2)单击“求和”按钮后,则将素数之和显示在文本框2中。
提示:须使用双分支选择结构。

img

img

VB 实现求素数

Private Sub Command1_Click()
Dim num As Integer
num = Val(Text1.Text)
If num <= 30 Then
MsgBox "请输入大于30的整数", vbInformation + vbOKOnly, "提示"
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Else
For i = 2 To num
Dim flag As Boolean
flag = True
For j = 2 To i - 1
If i Mod j = 0 Then
flag = False
Exit For
End If
Next
If flag Then
List1.AddItem i
End If
Next
End If
End Sub

Private Sub Command2_Click()
Dim sum As Long
For i = 0 To List1.ListCount - 1
sum = sum + List1.List(i)
Next
Text2.Text = sum
End Sub

说明:

当用户点击产生素数按钮时,代码会读取文本框1中的数字,如果小于等于30,就给出错误提示并使文本框获得焦点;否则就使用双重循环求出所有小于等于此数的素数,并显示在列表框中。
当用户点击求和按钮时,代码会累加列表框中的所有数字,并将累加结果显示在文本框2中。