题一:(最大数的序号,我没理解是指以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
作者: 不夜郭富城 时间: 2007-6-30 02:40
楼主记得送花
作者: 咸蛋超人 时间: 2007-6-30 09:06
太感谢了呀...坚决送花...嘿嘿
不过还有一个问题,第二个应该怎么弄才可以看见它的效果呀~~~~
我比较笨....呵呵
恩...还有那个第二题的第一行代码只要写Private Sub Sort()就可以了吗?
怎么那么短啊~~~ [s:41]
作者: 我是誰 时间: 2007-6-30 14:42
Q2: Private Sub Sort()意思是声明一个名为Sort的过程。要执行这个过程,就要调用它。你可以双击窗体:
Private Sub Form_Load()
Sort '这就是调用
End Sub
这样,一点运行,那段排序过程就执行了,b.txt也有了。
作者: 咸蛋超人 时间: 2007-7-1 09:16
恩...问题已经解决啦.表示感谢,再送花花一朵...谢谢啦~~~~ [s:40]