vb中在label输出100-200之间的全部素数。

2025-02-23 10:16:46
推荐回答(4个)
回答1:

你少加了输出和换行了。每次for都要赋值一次,才能显示中间所有的数据。
Private Sub Command1_Click()
For i = 100 To 200
For k = 2 To i - 1
If i Mod k > 0 Then
Label1.Caption = i
print i &shr(13)
End If
Next k
Next i
End Sub

回答2:

你这样写的话只要i不被2到i-1中的任何一个数整除都会判断为是素数,这样是不对的。如i=200,k=3,200 Mod 3 >0,这样你判断200也是素数。

并且Label1.Caption中只能输出最后一个你的判断的数,也就是200.

回答3:

Private Sub Command1_Click()
Label1.Caption = ""
For i = 100 To 200
For k = 2 To Sqr(i)
j = 0
If i Mod k = 0 Then j = 1: Exit For
Next k
If j = 0 Then Label1.Caption = Label1.Caption & " " & i
Next i
End Sub

回答4:

Private Sub Command1_Click()
For i = 100 To 200
For k = 2 To Int(Sqr(i))
If i Mod k = 0 Then
Exit For
Else
End If
If k = Int(Sqr(i)) Then Label1.Caption = Label1.Caption + Str(i) + ","
Next k
Next i
End Sub