早教吧作业答案频道 -->其他-->
解题思路单击"读数据"按钮,运用文件操作把考生文件夹下in5.dat文件中的100个正整数读入数组a中,同时显示在Text1文本框中;并运用Space函数使数值之间空一个格,在Command2Click事件过程中,
题目详情
【解题思路】单击"读数据"按钮,运用文件操作把考生文件夹下in5.dat文件中的100个正整数读入数组a中,同时显示在Text1文本框中;并运用Space函数使数值之间空一个格,在Command2 Click 事件过程中,判断Len(Text1.Text)是否为0,如果为0,弹出MsgBox对话框 "请先执行"读数据"功能!",然后进行分组排序处理,首先通过循环判断数组a中所有3的倍数的元素,并把该元素存入数组b中,运用冒泡排序对数组b中的元素从小到大排序后显示在文本框Text2中.
程序提供代码
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
For k = 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) Mod 3 = 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
请问代码里f=true,f=false是什么意思.事先也没有声明
程序提供代码
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
For k = 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) Mod 3 = 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
请问代码里f=true,f=false是什么意思.事先也没有声明
▼优质解答
答案和解析
f是标志位用来判断前后两个数是否交换位置,如果交换过f=false,如果没有则f=true说明这些数是从小到大排列好的直接跳出
看了解题思路单击"读数据"按钮,运...的网友还看了以下:
a,b是笔直公路l同侧的两个村庄前且两个村庄到之直路的距离分别是三百米后和五百米,两村庄之间的距离 2020-04-08 …
1.什么是灯(L)开路?2.造成灯(L)开路的原因有哪些?电源的开路我能理解,但灯的开路不明白: 2020-05-15 …
1.已知A,B是直线L同侧的两个定点,且到L得距离分别为a,b,P为L上的动点,则丨PA向量+3P 2020-05-16 …
河岸l同侧的两个居民小区A、B到河岸的距离分别为a米、b米(即图(1)中所示AA′=a米,BB′= 2020-06-12 …
如图,A,B是直线l同侧的两点,作点A关于直线l的对称点A′,连结A′B.若点A,B到直线l的距离 2020-07-09 …
几何模型:条件:如图1,A、B是直线l同旁的两个定点.问题:在直线l上确定一点P,使PA+PB的值 2020-08-01 …
几何模型:条件:如图1,A、B是直线l同旁的两个定点.问题:在直线l上确定一点P,使PA+PB的值 2020-08-01 …
对称轴和勾股定理混合题,求最小值?A、B是笔直公路l同侧的两个村庄,这两个村庄到公路的距离分别是30 2020-11-06 …
已知直线l同旁的两点A、B,在l上求一点P,使PA+PB最小,则求P点的作法正确的为()A.作A关于 2020-11-06 …
如图,A、B是一条河l同侧的两个村庄,且A、B两个村庄到河的距离分别是300m和500m,两村庄之间 2020-11-22 …