vb 汗。。。

来源:百度知道 编辑:UC知道 时间:2024/06/11 08:09:55
阅读下列过程或程序,把应填入 (n) 处的字句写在答题纸的对应栏内。
1.[ 过程说明]本过程用直接插入法对输入的一组数排序。
(1)直接插入法排序的基本操作是:将一个数插入有序(升序)的一组数中,从而得到一组新的有序的数。例如,已有一组有序数:
38,49,65,76,97 (3-1)
输入一个数42,将其插入序列中后得到新的序列:
38,42,49,65,76,97 (3-2)
(2)为插入一个新数x,首先要在式(3-1)的序列中进行查找以确定应插入的位置,然后进行插入。
[过程代码]
Dim n As Integer
Private Static Sub insert( _ As Single, x As Single)
Dim i As Integer, j As Integer
i = 0
Do While i < n x > dat(i) '查找x应插入的位置
i = i + 1
Loop
For j = n - 1 To i Step -1 'n-i个元素往右移
= dat(j)
Next j
dat(i) = x 'x插入数组中的第i个位置
Picture2.Print x '打印刚输入的数
For j = 0 To n '打印插入后的有序数
Picture1. ;
Next j
Picture1.Print
End Sub

就是我知道每个答案
只是第一空里为什么是dat() 是什么意思?
还有第三空 第四空

第一空填写dat(),表示传入插入过程的参数是一个数组
第二空填写And,在不超出新的数组总数时,逐个越过当前比新数小的数组元素
第三空填写dat(j + 1),实现插入新数后,比新数大的值逐个往后移动
第四空填写Print dat(j),表示逐个打印插入新数后的数组元素

完整程序如下:
Dim n As Integer
Private Static Sub insert(dat() As Single, x As Single)
Dim i As Integer, j As Integer
i = 0
Do While i < n And x > dat(i) '查找x应插入的位置
i = i + 1
Loop
For j = n - 1 To i Step -1 'n-i个元素往右移
dat(j + 1) = dat(j)
Next j
dat(i) = x 'x插入数组中的第i个位置
Picture1.Print x '打印刚输入的数
For j = 0 To n '打印插入后的有序数
Picture1.Print dat(j);
Next j
Picture1.Print
End Sub

哪里有"dat()" 呀?只有“dat(i)”吧,
题写的太乱了dat(i)是dat数组里的第i+1个元素的值