问题 多项选择题

在考生文件夹下有一个工程文件sjt5.vbp,其功能是:
①单击“读数据”按钮,则将考生文件夹下in5.dat文件中的100个正整数读入到数组a中,同时在Text1文本框中显示。
②单击“分组”按钮,则将数组a中所有3的倍数的元素存入数组b中,并对数组b中的元素按升序排序后显示在文本框Text2中。
在给出的窗体文件中已经有了全部控件(如图所示),但程序不完整。
要求:编写适当的程序部分使其实现上述功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,在结果程序运行之前,必须先执行“分组”操作,然后再用窗体右上角的关闭按钮结束程序,否则将没有成绩。最后,程序按原文件名进行存盘。

答案

参考答案:[解题思路] 单击“读数据”按钮,运用文件操作把考生文件夹下inE.dat文件中的A00个正整数读入数组a中,同时显示在TextA文本框中;并运用Space函数使数值之间空一个格,在CommandB Click事件过程中,判断Len(TextA. Text)是否为0,如果为0,弹出MsgBox对话框“请先执行‘读数据’功能!”,然后进行分组排序处理,首先通过循环判断数组a中所有C的倍数的元素,并把该元素存入数组b中,运用冒泡排序对数组b中的元素从小到大排序后显示在文本框TextB中。
[操作步骤]
步骤A:打开本题工程文件。
步骤B:分析并编写程序代码。
程序提供代码
Option Base A
Dim a(A00) As Integer, num As Integer
Private Sub CommandA_Click( )
Dim k As Integer
Open App. Path & " \inE.dat" For Input As # A
Fork=A To A00
Input # A, a(k)
TextA = TextA + Str( a(k) ) + Space(A)
Next k
Close # A
End Sub
Private Sub CommandB_Click( )
Dim b(A00) As Integer
num = 0
If Len ( TextA. Text) = 0 Then
MsgBox "请先执行‘读数据’功能!"
Else
’考生编写(功能:生成b数组,且按从小到大顺序排序)
’注意:请务必将数组b的元素个数存入变量num中
’以下程序段将已排序的b数组显示在TextB中
For i=A To num
TextB. Text = TextB. Text +Str( b (i)) + Space (B)
Next i
End If
End Sub
Private Sub Form_Unload( Cancel As Integer)
Open App. Path & "\outE.dat" For Output As # A
Print # A, TextB. Text
Close # A
End Sub
程序结束
参考答案:
n=0
For k=A To A00
If a(k) ModC = 0 Then
num = num + A
b(num) = a(k)
End If
Next k
For i=A To num
f = True
For j=A To num - A
If b(j) > b(j+A) Then
t =b(j)
b(j) =b(j+A)
b(j +A) =t
f = False
End If
Next j
If f Then
Exit For
End If
Next i
步骤C:调试并运行程序,关闭程序后按题目要求存盘。
答案考生文件夹

单项选择题
选择题