我是在文本框里输出素数,不过有错,我不知道错在哪啊,帮忙一下~~

beysion 2004-09-09 07:33:49
先输入一个范围,就是在文本框打印出1到这个数的素数,不过我不知道错在哪啊,你们看看,我刚学的

Option Explicit

Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer
n = 0
k = Val(Text1.Text)
If k <= 0 Then
m = MsgBox("输入的数据不能小于等于0", vbOKOnly + vbExclamation, "出错")
End If
For m = 2 To k
For i = 2 To m - 1
If m Mod i = 0 Then Exit For
Next i
If i >= m Then
Text2.Print m;
n = n + 1
If n Mod 5 = 0 Then Print
End If
Next m
End Sub
...全文
222 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-09-11
  • 打赏
  • 举报
回复
If n Mod 5 = 0 Then Print在窗体上换行!

尽量少用Text2.Text = Text2.Text & m & " "这种形式
beysion 2004-09-10
  • 打赏
  • 举报
回复
就是五个显示一行啊!~
beysion 2004-09-10
  • 打赏
  • 举报
回复
还是不行啊!~!~
Option Explicit

Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer
n = 0
k = Val(Text1.Text)
If k <= 0 Then
m = MsgBox("输入的数据不能小于等于0", vbOKOnly + vbExclamation, "出错")
End If
For m = 2 To k
For i = 2 To m - 1
If m Mod i = 0 Then Exit For
Next i
If i >= m Then
Text2.Text = Text2.Text & m & " "
n = n + 1
If n Mod 5 = 0 Then Print
End If
Next m
End Sub
你们再改一下啊!~!~求求你们了
taosin 2004-09-09
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer
Text2.Mulitline=True
n = 0
k = Val(Text1.Text)
If k <= 0 Then
m = MsgBox("输入的数据不能小于等于0", vbOKOnly + vbExclamation, "出错")
End If
For m = 2 To k
For i = 2 To m - 1
If m Mod i = 0 Then Exit For
Next i
If i >= m Then
Text2.Text = Text2.Text & m & " "
n = n + 1
If n Mod 5 = 0 Then
Text2.Text=Text2.Text & vbcrlf & ""
n=0
End If
Next m
End Sub
beysion 2004-09-09
  • 打赏
  • 举报
回复
我在上面修改了一下,想五个一行的啊,不过不行啊,你们看看啊,谢谢!~!~
Option Explicit

Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer
n = 0
k = Val(Text1.Text)
If k <= 0 Then
m = MsgBox("输入的数据不能小于等于0", vbOKOnly + vbExclamation, "出错")
End If
For m = 2 To k
For i = 2 To m - 1
If m Mod i = 0 Then Exit For
Next i
If i >= m Then
Text2.Text = Text2.Text & m & " "
n = n + 1
If n Mod 5 = 0 Then Print
End If
Next m
End Sub
northwolves 2004-09-09
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer, s As String
n = 0
k = InputBox("请输入不小于2的整数:", "提示", 100)
If k < 2 Then Exit Sub
For m = 2 To k
For i = 2 To Sqr(m)
If m Mod i = 0 Then Exit For
Next i
If i >= Sqr(m) Then
n = n + 1
s = s & Right(" " & m, 2) & " " & IIf(n Mod 5 = 0, vbCrLf, "")
End If
Next
Text1.Text = s
End Sub
网络精灵 2004-09-09
  • 打赏
  • 举报
回复
你主要是在输出格式上出错,你去掉Text2,或改改属性:

Option Explicit

Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer, k As Integer
n = 0
k = Val(Text1.Text)
If k <= 0 Then
m = MsgBox("输入的数据不能小于等于0", vbOKOnly + vbExclamation, "出错")
End If
For m = 2 To k
For i = 2 To m - 1
If m Mod i = 0 Then Exit For
Next i
If i >= m Then
Text2.Text = Text2.Text & m & " "
n = n + 1
End If
Next m
End Sub
beysion 2004-09-09
  • 打赏
  • 举报
回复
急啊~!~!~

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧