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呢?
展开
 我来答
tiayu137308
2014-04-08 · TA获得超过5777个赞
知道大有可为答主
回答量:2944
采纳率:68%
帮助的人:600万
展开全部
你少加了输出和换行了。每次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
kevin_wmj
2014-04-08 · TA获得超过396个赞
知道小有建树答主
回答量:83
采纳率:100%
帮助的人:67.1万
展开全部
你这样写的话只要i不被2到i-1中的任何一个数整除都会判断为是素数,这样是不对的。如i=200,k=3,200 Mod 3 >0,这样你判断200也是素数。

并且Label1.Caption中只能输出最后一个你的判断的数,也就是200.
更多追问追答
追问
那应该怎么写呢?
追答
"听不清啊"回答正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

推荐于2016-08-14 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林朗之主
2014-04-08 · 超过12用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:19.1万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式