vb中在label输出100-200之间的全部素数。
PrivateSubCommand1_Click()Fori=100To200Fork=2Toi-1IfiModk>0ThenLabel1.Caption=iEndIfN...
Private Sub Command1_Click()
For i = 100 To 200
For k = 2 To i - 1
If i Mod k > 0 Then
Label1.Caption = i
End If
Next k
Next i
End Sub
为什么我输出的是200呢? 展开
For i = 100 To 200
For k = 2 To i - 1
If i Mod k > 0 Then
Label1.Caption = i
End If
Next k
Next i
End Sub
为什么我输出的是200呢? 展开
4个回答
展开全部
你这样写的话只要i不被2到i-1中的任何一个数整除都会判断为是素数,这样是不对的。如i=200,k=3,200 Mod 3 >0,这样你判断200也是素数。
并且Label1.Caption中只能输出最后一个你的判断的数,也就是200.
并且Label1.Caption中只能输出最后一个你的判断的数,也就是200.
更多追问追答
追问
那应该怎么写呢?
追答
"听不清啊"回答正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询