1. 给定12个不同的正整数,任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定8 13 21 28 19 33 10 17 42 5 38 7,得到的答案是3,因为10是5的两倍,42是21的两倍,38是19的两倍。下列VB代码段能实现上述功能,请将划线处代码补充完整:

Private Sub Command2_Click()

    Const n=12

    Dim a(1 To n) As Integer, s As Integer

    Dim i As Integer, j As Integer

    Randomize

    For i=1 To n

        a(i)=Int(Rnd * 50)+1

        For j=1 To i- 1

            If a(i)=a(j) Then

        Next j

        If j <i Then

    Next i

    For i=1 To n

        For j=1 To n

            If  Then

                s=s+1

                List1. AddItem Str(s)+":"+ Str(a(i)) + Str(a(j))

                Exit For跳出内层循环

            End If

        Next j

    Next i

End Sub

【考点】
枚举算法及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 普通
能力提升
变式训练
拓展培优
真题演练
换一批
2. [枚举的综合应用]在一个数组中存储了若干个同学的技术成绩小题分,其中a(1)存储学生个数,a(2)开始按顺序存储小题分数据。每个学生有33个小题的数据,例:a(2)~a(13)是学生1的信息选择题得分,a(27)~a(30)是学生1的信息4个主观题得分。具体如下表

题号

1-12

13-25

26-29

30- 33

科目题型

信息客观题

通用客观题

信息主观题

通用主观题

满分分值

每题2分

每题2分

4/8/7/7

6/9/3/6

小李根据上述描述,设计了一个统计所有同学信息各题得分率的算法。程序运行后首先在列表框List1显示信息技术各小题得分,单击“计算”按钮“Command1",在列表框List2显示信息各题的题号和得分率,在文本框Text1输出所有同学的信息平均分(平均分=各题得分率*分值之和)。算法的VB程序如下,回答下列问题。

(1) 根据题目描述,使用如图所示数据,a(95)的数值是
(2) 在程序划线处填上合适代码,使程序完整。

Dim a(1 To 1000) As Integer, n As Integer

Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    Dim fz(1 To 16) As Integer     'fz数组存储信息各题满分值

    Dim b(1 To 33) As Double    '数组b存储全卷各题的平均得分

    For i=1 To 16    '数组fz存储信息16个小题的满分值   

        If i<= 12 Then fz(i)=2

        fz(13)=4 : fz(14)=8 : fz(15)=7 : fz(16)=7

    Next i

    For i=2 To n      '把数组a数据分别统计到各题中

       

        b(j)=a(i)+ b(j)

    Next i

    For i=1 To 33    '仅处理信息各题的平均分

        If i<= 12 Then

            b(i)=b(i) / (a(1) * fz(i))      ' 计算信息选择题各题的得分率

        ElseIfi>= 26 Andi<= 29 Then

            b(i)=

        End If

    Next i

    For i=1 To 16

        If i> 12 Then j=i+13 Else j=i

        b(j)=Int(b(j) * 1000+0.5) / 10      '对结果四舍五入保留1位小数

        List2. AddItem Str(i) 十Str(b(j))+"%"

        ave=

    Next i

    Text1. Text=Str(ave / 100)

End Sub

Private Sub Form_ Load()

    '读入数据到数组a,数据个数n,代码略

End Sub

综合题 困难