1. 小张设计了一个“加减运算练习”VB程序。界面如下图所示。单击“出题”Command1按钮显示两个运算数和运算符号,并计数。在文本框Text1中输入计算结果后单击“判断”按钮Command2,如果计算结果正确,则得分加10分,直至完成10题测试。VB程序如下,但加下划线处代码有错,请改正。

Dim n,s As Integer    'n为试题计数器,s为得分

Dim a, b As Integer  'a,b 为两个运算数

Dim c As String 'c为运算符:"+ "表示加法,"-"表示减法

Private Sub Form_Load()

n = 0:

s = 0

End Sub

Private Sub Command1_Click()   ‘出题按钮

Randomize

n = n + 1

If n < 11 Then

      Label1.Caption = "No:" + Str(n)

      a = Int(Rnd * 100)  'a,b为运算数,且要求a不小于b

      b = Int(Rnd * 100)

      If   Then t = a: a = b: b = t                '(1)

      If  Rnd > 0.5  Then c = "+" Else        '(2)

      Label5.Caption = Str(a) + c + Str(b) + "="

      Text1.Text = ""

Else

   Command1.Caption = "完成测试"

End If

End Sub

Private Sub Command2_Click()   ‘判断按钮

If c = "+" Then

             If   a + b = Val(Text1.Text) Then  s = s + 10

           Else

             If  Then  s = s + 10    '(3)

End If

Label3.Caption = "得分:" + Str(s)

End Sub

【考点】
解析算法及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 困难
能力提升
变式训练
拓展培优
真题演练
换一批
3. “字符洗牌”程序模拟扑克洗牌的操作,为了打乱牌序,把手上的扑克牌中间抽一部分放到最上面,完成一次洗牌(如字符串“1234ABCD”,若把中间的第3个到第5字母抽出并保持原来的顺序放到最前面,则一次洗牌操作后字符串变成“34A12BCD”),也可以把扑克牌分成上下两部分,把下面的部分放置到上面(如字符串“1234ABCD”,把第3个字符到最后一个字符移到前面,变成“34ABCD12”),多次重复做这个动作,就能达到洗牌的目的,效果如图所示。

(1) 若要把窗体的标题名称由“Form1” 改为“字符洗牌”,应改变窗体的属性。
(2) 完成上述功能的程序代码如下,请在划线处填入合适的代码

Private Sub Command1_Click()

    Dim r As Integer, k1 As Integer, k2 As Integer, r As Integer

    Dim s As String, n As Integer

                       '从文本框TxtIn中获取字符串

    Randomize

    r = Int(Rnd() * 10) + 1   '随机生成洗牌次数

    n = Len(s)

    Do While r >= 1        '洗牌操作

        k1 = Int(Rnd() * (n - 2)) + 2

        k2 = Int(Rnd() * (n - k1 + 1)) + k1

        s =   + Mid(s, 1, k1 - 1) + Mid(s, k2 + 1, n - k2)  

        r = r - 1

    Loop

        '输出结果

End Sub

(3) 若加框处的语句改为TxtOut.Text = Str(s),则运行程序时会发生的错误消息为_________ A. B. C. D.
综合题 困难