|
稍等,马上给你写。
题一:(最大数的序号,我没理解是指以0开始的数组下标序号,还是以1开始的物理序号,代码且按1开始的序号)
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim myArray() As Integer
Dim max As Integer '最大数
Dim maxIndex As Integer '最大数序号
n = 10 '数据个数
ReDim myArray(n)
'生成数组的循环
For i = 0 To n - 1
Randomize
myArray(i) = Int(Rnd * 100 + 1) '使用随机数填充
Next
'找最大元素的循环
maxIndex = 1
max = myArray(0)
For i = 1 To n - 1
If myArray(i) > max Then
maxIndex = i + 1
max = myArray(i)
End If
Next
'打印最大数的序号
Print maxIndex
End Sub
题二:(因为没指定顺序,我是按增序写的)
Private Sub Sort()
Dim fn As Long
Dim count As Integer
Dim myArray() As Integer
Dim i As Integer, j As Integer, T As Integer
fn = FreeFile() '获得一个空闲的文件号
'打开a.txt
Open "C:\a.txt" For Input As #fn
'获得数据个数
Input #fn, count
ReDim myArray(count - 1)
'读取数据
For i = 0 To count - 1
Input #fn, myArray(i)
Debug.Print myArray(i);
Next
Debug.Print
Close #fn
'采用易于理解的冒泡排序法
For i = count - 1 To 0 Step -1
For j = 0 To i - 1
If myArray(j) > myArray(j + 1) Then
T = myArray(j)
myArray(j) = myArray(j + 1)
myArray(j + 1) = T
End If
Next j
Next i
'写入b.txt
Open "C:\b.txt" For Output As #fn
For i = 0 To count - 1
Print #fn, myArray(i)
Next
Close #fn
End Sub |
|