早教吧作业答案频道 -->其他-->
解题思路单击"读数据"按钮,运用文件操作把考生文件夹下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说明这些数是从小到大排列好的直接跳出
看了解题思路单击"读数据"按钮,运...的网友还看了以下:
t℃水的离子积为KW该温度下将a mol·L-1一元酸HA与b mol·L-1一元碱BOH等体积混 2020-05-16 …
A.t[1]=u[1]∧t[12]=w[2]∧t[13]=v[4]B.t[1]=v[l]∧t[2]= 2020-05-26 …
A.t[1]=u[1]∧t[12]=w[2]∧t[13]=v[4]B.t[1]=v[l]∧t[2]= 2020-05-26 …
高台跳水运动员相对水面的高度h(m)与起跳后的时间t(s)的函数关系是h(t)=-5t²+6t+1 2020-06-03 …
T=2π√L/g若T=2s,则L等于1这是为什么若T=2时,2=2π√L/10m/s²那π是怎么约 2020-06-12 …
已知椭圆C的离心率为根号3除以2在x轴上顶点为a1(-2,0),a2(2,0)1求椭圆的方程2.求 2020-06-21 …
已知椭圆C:x2a2+y2b2=1(a>b>0)的离心率为32,且在x轴上的顶点分别为A1(-2, 2020-07-26 …
若直线l的参数x=3+4/5t与y=2+3/5t其中t为参数(4,-1)且与直线l平行的直线l'在 2020-07-30 …
怎么计算二阶微分方程(mathematrica)我想用mathematica5来书写,但是我又不知 2020-07-31 …
直线参数方程中t的意义·在线等已知直线l的参数方程为{x=-1+t,y=2+t(t为参数),在直角 2020-08-02 …