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