相关试卷

  • 1、在text1文本框内输入字符串,单击去重按钮,将字符串后面相同的字符删除,并在text2中输出经过删除的字符串。程序界面如图所示。请在下面划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s As String, s1 As String, c As String

        s = Text1.Text

        For i = 1 To Len(s)

            c = Mid(s, i, 1)

            s1 =    ⑴   

            For j =    ⑵   

                If c <> Mid(s, j, 1) Then

                    s1 = s1 + Mid(s, j, 1)

                End If

            Next j

               ⑶    

        Next i

    Text2.Text = s

    End Sub

    A、(1)s1 = Mid(s, 1, 1) (2)i + 1 To Len(s)(3)s1 = s B、(1)s1 = Mid(s, 1, 1)(2)i To Len(s)(3)s1 = s C、(1)s1 = Mid(s, 1, i)(2)i To Len(s)(3)s = s1 D、(1)s1 = Mid(s, 1, i)(2)i + 1 To Len(s)(3)s = s1
  • 2、下面程序的功能是:产生20个[1,100]范围内的随机整数,并统计这20个随机数中的整数的个数(重复出现算1个),结果显示在标签Label1中。例如:5个随机数[10,20,20,31,32]中不重复数字个数为3。程序部分代码如下:

    count = 0

    For i = 1 To 20

        a(i) = Int(Rnd ∗ 100) + 1

    Next i

    For i = 1 To 20

              

    Next i

    For i = 1 To 100

        If b(i) <> 0 Then count = count + 1

    Next i

    Label1.Caption= "不重复数字个数" + Str(count)

    为实现上述功能,则程序①处应填入的语句为(   )

    A、b(i)=1 B、b(a(i))=a(b(i))+1 C、b(i)=b(i)+1 D、b(a(i))=b(a(i))+1
  • 3、向文本框Text1中输入一串包含大小写的字母,统计出现次数最多的字母(不区分大小写)并将该字母以大写方式输出到文本框Text2,如有多个字母次数相同的,则只记录最后出现的字母,部分程序如下:

    Dim c(1 To 26)As Integer

    s=Text1.Text

    For i=1 To Len(s)

        x=Mid(s, i, 1)

        If x>="a" Then

            t=Asc(x)-Asc("a")+1

        Else

            t=Asc(x)-Asc("A")+1

        End If

           ① 

        If c(t)>=Max Then Max=c(t):   ②  

    Next i

    Text 2.Text=Chr(f+Asc("A"))

    划线处应该填入的正确语句是(   )

    A、①c(t-1)=c(t-1)+1②f=t B、①c(t)=c(t)+1②f=t C、①c(t-1)=c(t-1)+1②f=t-1 D、①c(t)=c(t)+1②f=t-1
  • 4、有如下所示VB程序段:

    str1 = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”

    s = “”

    For i = 1 To 4

        t = Int(Rnd*10) + 1

        If t Mod 2 = i Mod 2 Then

            t = t + 1

        Else

            t = t + 2

        End If

        s = s + Mid(str1,t,1)

    Next i

    List1.AddItem s

    执行该程序段后,列表框List1中可能显示的内容是(   )

    A、BADC B、BCDY C、DEFG D、CDEF
  • 5、有如下程序段:

    For i = 2 To 6

        For j = 1 To i - 1

            If a(j) <= a(i) And d(j) >= d(i) Then

                d(i) =d(j)+1 : pre(i) = j

            End If

        Next j

    Next i

    max = 0 : k = 0

    For i = 1 To 6

        If d(i)>max Then max = d(i) : k = i

    Next i

    Do While k <> 0

        st = a(k) & ","& st

        k=pre(k)

    Loop

    Text1.Text = Mid(st, 1, Len(st) - 1)

    数组元素a(1)到a(6)的值依次为“2,6,5,9,8,8”,数组d各元素的值初始化为1,数组pre各元素的值初始化为0,经过该程序段“加工”后,Text1中的值是(   )

    A、2,5,9 B、2,6,8,8 C、2,5,8,8 D、2,5,6,8,8,9
  • 6、火柴棒等式。用火柴棒可以摆出0-9的数字,摆放规则如下图所示:

    有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下:

    ⑴A、B都是不大于1000的正整数,若数值非零,则最高位不能是0;

    ⑵摆放“+”与“=”各使用两根火柴棒;

    ⑶A+B=C 与B+A=C视为相同的等式;

    ⑷n根火柴棒必须全部用上。

    小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。

    Dim sz(0 To 9) As Integer     ‘数组元素sz(i)用于存储数字i所使用的火柴棒的数量

    Private Sub Form_Load()

        sz(0) = 6 : sz(1) = 2 : sz(2) = 5 : sz(3) = 5 : sz(4) = 4

        sz(5) = 5 : sz(6) = 6 : sz(7) = 3 : sz(8) = 7 : sz(9) = 6

    End Sub

    ‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量

    Function hcs(ByVal x As Integer) As Integer

        Dim s As Integer, k as integer

        s = 0

        Do While     ①    

            k = x Mod 10

            s=s+sz(k)

            x = x \ 10

        Loop

        hcs = s + sz(x)

    End Function

    Private Sub Command1_Click()

        Dim n As Integer

        Dim a As Integer, b As Integer, c As Integer

        n = Val(Text1.Text)

        ans = 0

        List1.Clear

        For a = 0 To 999

            For b =    ②     To 999

                c = a + b

                If     ③    Then

                    List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c))

                    ans = ans + 1

                End If

            Next b

        Next a

        List1.AddItem ("共有" + Str(ans) + "种等式")

    End Sub

    (1)、请在划线处填入合适的代码。

     ② ③ 

    (2)、某次运行程序时,显示的等式中包含“7+17=24”,根据程序分析,输入的n的值为:
  • 7、尼克斯彻定理:任何一个大于等1的整数的立方等于一串连续奇数之和,如:13=1,23=3+5,33=7+9+11。编写一个VB程序验证尼克斯彻定理,程序运行时,在文本框Text1中输入一个于等于1的整数,单击“验证”按钮Command1,在文本框Text2中显示验证结果,运行界面如图所示。

    实现上述功能的VB代码如下,请完善代码:

    Private Sub Command1_Click()

        Dim n As Integer, i As Integer, t As Integer, sum As Long, s As String

        n=Val(Text1.Text)

        For i=1 To n^3 step 2           '变量i表示连续奇数的首个整数

            sum=0:t=i:flag=False

            Do While sum<n^3 And flag= False

                sum=

                t=t+2

                If Then flag=True

            Loop

            If flag=True Then Exit For

        Next i

        s=Str(n)+ "^"+Str(3)+ "="

        Do While sum>0

           

            If sum= 0 Then

                s=s+Str(i)

            Else

                s=s+Srt(i)+ "+"

            End If

            i=i+2

        Loop

        Text2.Text=s

    End Sub

  • 8、小王编写了一个VB程序,该程序的功能是:15个数形成环状,现要分别找出3个相邻的数:使其相加之和最大或最小。如15个数依次为:18,14,42,61,13,19,14,13,28,52,61,58,30,则相邻三数之和最大为62(30+18+14),相邻三数之和最小为31(4+26+1)。

    程序运行时,先随机生成15个[1,30]区间内的整数,存储在数组a(0)至a(14),并在文本框Text1中显示;单击“计算”按钮Command1,则在标签Labe14中显示连续三数最大和,在标签Label5中显示连续三数最小和,程序运行界面如图所示。

    实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Const n=14

    Dim a(n) As Integer

    Private Sub Form_Load()

    '随机生成15个数,存储在数组元素a(0)~a(14)中,并显示在文本框Text1中

    End Sub

    Private Sub Command1_Click()

        Dim i As Integer, j As Integer, k As Integer

        Dim imax As Integer, imin As Integer

        Dim smax As Integer, sum As Integer, smin As Integer

        smax=0:smin=100

        For i=0 To 14

            j=

            k=

            sum=a(i)+a(j)+a(k)

            If sum>smax Then

                smax=sum

                imax=i

            End If

            If sum<smin Then

                smin=sum

                imin=i

            End If

        Next i

        Label4.Caption=Str(smax)

        Label5.Caption=Str(smin)

    End Sub

  • 9、如果两个质数的差为2,则这两个质数称为孪生质数对;编写VB程序,实现如下功能:单击“显示孪生质数对”按钮Command1,在列表框List1中显示100以内的所有孪生质数对(运行效果如图所示)。

    实现上述功能的VB代码如下。

    Dim a(1 To 50) As Integer

    Private sub Command1_Click()

        Dim i As Integer

        k=0: i=3

        Do While i<= 100

            If Not prime(i) Then

                k=k+1

               

            End If

            i=i+2

        Loop

        For i=2 To k

            If         Then

                List1 AddItem Str(a(i-1))+"和"+ Str(a(i))

            End if

        Next i

    End Sub

    Function prime (x As Integer)As Boolean

        prime=False

        For i=2 To Int(sar(x))

            If x Mod i=0 Then

                prime=True

                Exit for

            End If

        Next i

    End Function

    (1)、语句“List1. AddItem Str(a(i-1))+"和"+Str(a(i))”中的AddItem是(单选,填字母:A .对象名/B .属性名/C .事件名/D .方法名)。
    (2)、程序代码中,加框处有错,请改正。
    (3)、程序代码中,将横线处语句补充完整。
    (4)、在自定义函数中,函数返回值prime=Flase表示的含义是
  • 10、给出只包含加、减、乘、除中一个运算符的算术等式,求该算术等式中的最小进制。如等式6*9=42,该等式中的数字均属于13进制。推算的算法是:

    ⑴找出等式中单个数字的最大值;

    ⑵从最大值加1的数制开始,按该数制的运算规则,把等式中所有数字转换成十进制数;

    ⑶如果等式两边的结论是成立的,那么该数制就是符合上述等式的最小数制,否则从下一个数制重新计算,直到十六进制为止。

    小明为此编写了一个VB程序,程序运行时,在文本框Text1中输入一个等式,单击“计算”按钮Command1,在文本框Text2中显示该等式中数字所属的数制。程序运行界面如下图所示。

    (1)、根据上述算法,则等式“5+7=13”成立,则该等式中的数属于进制数。
    (2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s1 As String, ysf As String,t1 As String,t2 As String,t3 As String

        Dim ch As String,t As String, max As Integer, jz As Integer, i As Integer

        s1=Text1. Text

        t1=0: max=0

        For i=1 To Len(s1)

            ch= Mid(s1,i,1)

            If ch="+" Or ch="-" Or ch="*" Or ch="\" Then

                ysf=ch: t1=t: t=" "

            ElseIf ch="=" Then

                t2=t: t=" "

            ElseIf ch>="A" And ch <="F" Then

                t=t+ch

                temp=

                If max<temp Then max=temp

                Else

                    t=t+ch

                If max<Val(ch)Then max=Val(ch)

            End If

        Next i

        t3=t: jz=0

       

        Do While i<= 16

            If ysf="+" Then

                If XtoD(i, t1)+XtoD(i, t2)=XtoD(i, t3) Then jz=i: Exit Do

                ElseIf ysf="-" Then

                    If XtoD(i, t1)-XtoD(i, t2)=XtoD(i, t3) Then jz=i: Exit Do

                ElseIf ysf="*" Then

                    If XtoD(i, t1)* XtoD(i, t2)=XtoD(i, t3) Then jz=i: Exit Do

                Else

                    If XtoD(i, t1)/XtoD(i, t2)=XtoD(i, t3) Then jz=i: Exit Do

            End If

            i=i+1

        Loop

        If jz < >0 Then

            Text2.Text="该数属于"+Str(jz)+"进制"

        Else

            Text2.Text="没有找到合适的进制"

        End If

    End sub

    Function XtoD(x As Integer,s As String) As Integer

        Dim j As Integer

        j=0

        For i=Len(s)To 1 Step-1

            XtoD=XtoD+Val(Mid(s, i, 1))*x

           

        Next i

    End Function

  • 11、用VB编程解决一个问题:求所有五位数中满足能被17整除且十位数字为5的数之和。
    (1)、本题的所有五位数所指的范围是1~10000,10000~99999,10000~90000,还是11111~99999?写出本题的所有五位数所指的范围。
    (2)、算术运算符:除/、整除\、求余Mod。例子,设五位数为参数i,则i\10000为万位,(i\1000)Mod 10 为千位,类推,则五位数中十位数字为 , i Mod 10为个位。写出五位数中十位数字为5的表示式。
    (3)、将本题程序填写完整。

    Private Sub Command1_Click()

        s = 0

        For i =To

            If i Mod 17 = 0 And  =5 Then

                s = s + i

            End If

        Next i

        Print s

    End Sub

    (4)、本题程序采用了什么算法?
  • 12、找出满足各位数字之和等于5的所有三位数可采用的算法是(   )。
    A、解析算法 B、冒泡排序 C、枚举算法 D、选择排序
  • 13、小强在双十一购物期间忘记了支付宝账户密码,但他急用支付宝进行转账,请你帮他尽可能找回密码。他只记得自己密码的一些零星信息:

    ①密码是六位数字,前面两位为59;②最后两位数字相同;③能被12和38整除。

    程序界面如图1所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。

    (1)、应用程序界面设计时,为添加“List1”对象,应使用图2所示的“控件工具箱”中的(填写相应编号)。
    (2)、请根据题意将解决此问题的相应程序补充完整。

    Private Sub Command1_click( )

        Dim x As Integer, s As Long

        Dim y As Integer, i As Integer

        For i = 0 To 9999

            s = 590000 + i

            If Then

                x= s mod 10

                y =

                If x = y Then

                    List1.AddItem Str(s)

                End If

            End If

        Next i

    End Sub

    (3)、该模块采用的算法是(   )
    A、枚举 B、查找 C、排序 D、解析
  • 14、一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是:统计前1000个自然数中A类数的个数,并在文本框中输出。请在划线处填入合适代码。

    Private Sub Command1_Click()

        Dim i As Integer, n As Integer

        Dim s As Integer, t As Integer, k As Integer

        s = 0

        For i = 1 To 1000

            n = i

            t = 0

            k = 0

            Do While n > 0

                If n Mod 2 = 1 Then t = t + 1 Else k = k + 1

               

            Loop

            If Then s = s + 1

        Next i

        Text1.Text = Str(s)

    End Sub

  • 15、下列问题适合使用枚举算法解决的是(   )
    A、计算已知半径的圆面积 B、计程车计费 C、校园歌曲大赛的成绩排名 D、找出1000以内的所有素数
  • 16、用枚举算法求解“找出所有满足各位数字之和等于5的三位数”时,在下列所列举的数值范围内,算法执行效率最高的是(   )
    A、从0到999 B、从100到999 C、从100到500 D、从104到500
  • 17、若一个正整数从左向右读与从右向左读都一样,我们就将其称之为回文数。如11、121均是回文数。请你编写程序,输出10至n之间的所有回文数。程序运行界面如图所示,在文本框Text1中输入一个正整数n,单击“查找”按钮Command1,在列表框List1中显示10–n之间的所有回文数,并且在标签Label1中输出查找到回文数的总数。

    问题:实现上述功能的VB 代码如下,但加框处代码有错,请改正。

    Private Sub Command1_Click()

        Dim n as long , sum as long , i As Long Dim x as long , y as long

        List1.Clear

        n = Val(Text1.Text) sum = 0

        For i = 10 To n

            x =               ‘①

            y = 0

            Do While x > 0

                y =         ‘②

                x = x \ 10

            Loop

            If y = i Then

                List1.additem Str(i)

                sum = sum+1

            End if

        Next i

    Label1.caption = “共有”& Str(sum) & “个回文数” End Sub

  • 18、小张的QQ密码忘记了,请你帮他找回密码。他只记得自己密码的一些零星信息:

    ①密码是六位数字,前面两位为59;

    ②最后两位数字相同;

    ③能被12和38整除。

    程序界面如图所示,单击“找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。

    (1)、应用程序界面设计时,为添加“可能的密码有:”对象,应使用左图所示的“控件工具箱”中的(填写相应编号),并在右图所示的“属性窗口”中,将属性值设置为“可能的密码有:”。
    (2)、为实现上述功能,请在划线处填入合适的选项。

    Private Sub Command1_Click( )

        Dim x As Integer, s As Long, y As Integer, i As Integer

        For i=0 To 9999

            s=590000+i

            If     ①     Then

                x=s mod 10

                y=(s Mod 100)\10

                If     ②    Then

                    List1.AddItem    ③  

                End If

            End If

        Next i

    End Sub

    , ② , ③

    A.x=y    B.Str(s)   C.Str(i)    D.s Mod 12=0 and s Mod 38=0

  • 19、哥德巴赫1742年给欧拉的信中哥德巴赫提出了以下猜想:任一大于2的偶数都可写成两个质数之和。下列程序的功能即验证哥德巴赫猜想。程序运行时,在文本框Text1中输入一个大于2的偶数,单击“证明”按钮Command1后,在列表框List1中输出所有符合猜想的组合,在标签Label2中输出共有多少个组合。程序运行效果如下图所示。

    为实现上述功能程序如下,但加框处的代码有误,请改正。

    Private Sub Command1_Click()

        Dim n As Integer

        Dim i As Integer, c As Integer

        n = Val(Text1.Text)

        List1.Clear

        c = 0

        If n Mod 2 = 0 Then

            For        ①

                If    Then            ②

                    List1.AddItem n & "=" & i & "+" & n - i

                    c = c + 1

                End If

            Next i

            Label2.Caption = "共有" & c & "种组合"

        Else

            Label2.Caption = "请输入一个大于 2 的偶数"

        End If

    End Sub

    Function is Prime(x As Integer) As Boolean

        Dim i As Integer

        Is Prime = True

        For i = 2 To Int(Sqr(x))

            If x Mod i = 0 Then

                Is Prime = False

                Exit For

            End If

        Next i

    End Function

     ② 

  • 20、编写程序输出100~200之间不能被3整除的自然数,并统计出符合条件的个数。

    程序如下:

    Private Sub Form_Click()

        Dim i As Integer

        Dim t As Integer

        For i = 100 To 200

            If Then           '不能够被3整除的条件

                Print i

                t=t+1

            End If

        Next i

    End Sub

    程序运行结束后t的值为

上一页 883 884 885 886 887 下一页 跳转