首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 急!!求一段找索数代码 [已结贴,结贴人:zlh915]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 10:42:29 楼主
    先100~1000数里面用随机找出12个数字, 然后messagebox出现问“这里有没有素数?”有的话按a 没有按b, 然后没有的话可能再实行100~1000的随机数字, 按有按钮的话找出里面的素数

    因朋友非常着急要,我又好多年没弄VB了,连开发环境也都没了,想起CSDN的各位大侠们了!
    请给出段完整的代码。急,谢谢!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 10:59:491楼 得分:0
    或把下面的.NET的代码,转换成VB6.0的
    -----------------------
    Public Class Form1

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            While (True)
                If (MsgBox(GetSuShu() + "这里有没有素数?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes) Then
                    Continue While
                Else
                    Return
                End If
            End While
        End Sub
        Function GetSuShu()
            Dim i As Integer
            Dim str As String = ""
            For i = 0 To 12
                Dim p1, p2 As Single
                p1 = Rnd()
                p2 = Rnd()
                Dim iStar As Single
                Dim iAbs As Single
                Dim intVal As Integer
                iStar = p1 * 100
                iAbs = p2 * 900
                iStar = iStar + iAbs
                intVal = Math.Floor(iStar)
                str = str + intVal.ToString()
                str = str + ","
            Next
            GetSuShu = str
        End Function

    End Class

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 11:35:072楼 得分:15
    VB.NET code
    Private Sub Form_Load() Do While True If (MsgBox(GetSuShu() + "这里有没有素数?", vbYesNo) = vbYes) Then Else exit do End If Loop End Sub Function GetSuShu() Dim i As Integer Dim str1 As String For i = 0 To 12 Dim p1 As Single, p2 As Single p1 = Rnd() p2 = Rnd() Dim iStar As Single Dim iAbs As Single Dim intVal As Integer iStar = p1 * 100 iAbs = p2 * 900 iStar = iStar + iAbs intVal = int(iStar) str1 = str1 + cstr(intVal) str1 = str1+ "," Next GetSuShu = str1 End Function
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 12:56:343楼 得分:15
    VBScript code
    Option Explicit Private DataValue(1 To 12) As Integer '随机生成12个100-1000之间的互不相同的随机数,并判断其中有无素数 Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer Dim cIF As Boolean Do While True go_onLOOP: Randomize i = Int((1000 - 100 + 1) * Rnd + 100) j = j + 1 If j > UBound(DataValue) Then GoTo CJL For k = 1 To UBound(DataValue) If i = DataValue(k) Then GoTo go_onLOOP Next DataValue(j) = i Debug.Print "DataValue(" & j & ")=" & DataValue(j) Loop CJL: For i = 1 To UBound(DataValue) For j = 2 To Sqr(DataValue(i)) k = DataValue(i) Mod j If k = 0 Then GoTo go_on Next MsgBox ("这12个数中有素数!") Exit Sub go_on: Next MsgBox ("这12个数中没有素数!") End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 13:02:574楼 得分:15
    Private Sub Form_Load()

            Do While MsgBox(GetSuiJiShu() + "这里有没有素数?", vbYesNo) = vbYes
                  MsgBox GetSuShu()
            Loop
        End Sub
        Private Function GetSuiJiShu()AS string
            Dim i As Integer
            Dim str1 As String
            For i = 0 To 12
                Dim p1  As Single, p2 As Single
                p1 = Rnd()
                p2 = Rnd()
                Dim iStar As Single
                Dim iAbs As Single
                Dim intVal As Integer
                iStar = p1 * 100
                iAbs = p2 * 900
                iStar = iStar + iAbs
                intVal = int(iStar)
                str1 = str1 + cstr(intVal)
                str1 = str1+ ","
            Next
            GetSuShu = str1
        End Function

        Private Function GetSuShu() AS string
            方法自己写,和上面得到随机数的方法类似
        End Function
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 13:04:235楼 得分:15
    这样通用性更强:

    VBScript code
    Option Explicit Private DataValue(1 To 20) As Integer '随机生成12个100-1000之间的互不相同的随机数,并判断其中有无素数 Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer Dim cIF As Boolean Do While True go_onLOOP: Randomize i = Int((1000 - 100 + 1) * Rnd + 100) j = j + 1 If j > UBound(DataValue) Then GoTo CJL For k = 1 To UBound(DataValue) If i = DataValue(k) Then GoTo go_onLOOP Next DataValue(j) = i Debug.Print "DataValue(" & j & ")=" & DataValue(j) Loop CJL: For i = 1 To UBound(DataValue) For j = 2 To Sqr(DataValue(i)) k = DataValue(i) Mod j If k = 0 Then GoTo go_on Next MsgBox ("" & UBound(DataValue) & "个数中有素数!") Exit Sub go_on: Next MsgBox ("" & UBound(DataValue) & "个数中没有素数!") End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 13:09:296楼 得分:15
    VBScript code
    Private Sub Form_Load() Msg End Sub Function GetSuShu() Dim i As Integer Dim str As String str = "" For i = 0 To 12 Dim p1, p2 As Single p1 = Rnd() p2 = Rnd() Dim iStar As Single Dim iAbs As Single Dim intVal As Integer iStar = p1 * 100 iAbs = p2 * 900 iStar = iStar + iAbs intVal = Math.Round(iStar) str = str + Trim(intVal) str = str + "," Next GetSuShu = str End Function Function Msg() If (MsgBox(GetSuShu() + "这里有没有素数?", vbYesNo) = vbYes) Then Exit Function Else Msg End If End Function


    1L的代码修改完毕。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 13:24:327楼 得分:15
    '不理解你 a b 的思路, 没这必要吧?

    '添加 Command1

    Dim i&, j&, k&, Scount&, RndVal&, ss As Boolean

    Private Sub Command1_Click()
      Randomize
      Me.Cls
      Scount = 0
      For k = 1 To 12
          RndVal = Int(Rnd * 901) + 100
          If Chkss(RndVal) Then
            Me.ForeColor = QBColor(12)
            Scount = Scount + 1
          Else
            Me.ForeColor = QBColor(0)
          End If
          Print RndVal
      Next k
      MsgBox IIf(Scount = 0, "没有素数", "共有 " & CStr(Scount) & " 个素数")
    End Sub

    Function Chkss(ChkVal&) As Boolean
      j = Int(Sqr(ChkVal))
      ss = True
      For i = 2 To j
          If ChkVal Mod i = 0 Then ss = False: Exit For
      Next i
      Chkss = ss
    End Function
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 13:31:188楼 得分:10
    全部代码完成如下:

    VBScript code
    Option Explicit Private DataValue(1 To 12) As Integer '随机生成12个100-1000之间的互不相同的随机数,并判断其中有无素数 Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer Dim cIF As Boolean '找到素数否 cIF = False Do While True go_onLOOP: Randomize i = Int((1000 - 100 + 1) * Rnd + 100) j = j + 1 If j > UBound(DataValue) Then GoTo CJL For k = 1 To UBound(DataValue) If i = DataValue(k) Then GoTo go_onLOOP Next DataValue(j) = i Debug.Print "DataValue(" & j & ")=" & DataValue(j) Loop CJL: For i = 1 To UBound(DataValue) For j = 2 To Sqr(DataValue(i)) k = DataValue(i) Mod j If k = 0 Then GoTo go_on Next MsgBox ("" & UBound(DataValue) & "个数中有素数!") Me.Cls Me.Print "素数为:" & "DataValue(" & i & ")=" & DataValue(i) cIF = True '找到素数 go_on: Next If cIF = False Then MsgBox ("" & UBound(DataValue) & "个数中没有素数!") End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 13:34:019楼 得分:0
    8楼有错,全部代码完成如下:

    VBScript code
    Option Explicit Private DataValue(1 To 12) As Integer '随机生成12个100-1000之间的互不相同的随机数,并判断其中有无素数 Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer Dim cIF As Boolean '找到素数否 cIF = False Me.Cls Do While True go_onLOOP: Randomize i = Int((1000 - 100 + 1) * Rnd + 100) j = j + 1 If j > UBound(DataValue) Then GoTo CJL For k = 1 To UBound(DataValue) If i = DataValue(k) Then GoTo go_onLOOP Next DataValue(j) = i Debug.Print "DataValue(" & j & ")=" & DataValue(j) Loop CJL: For i = 1 To UBound(DataValue) For j = 2 To Sqr(DataValue(i)) k = DataValue(i) Mod j If k = 0 Then GoTo go_on Next MsgBox ("" & UBound(DataValue) & "个数中有素数!") Me.Print "素数为:" & "DataValue(" & i & ")=" & DataValue(i) cIF = True '找到素数 go_on: Next If cIF = False Then MsgBox ("" & UBound(DataValue) & "个数中没有素数!") End Sub
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved