阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组int

admin2009-02-15  48

问题 阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
【说明】
   已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。
   【程序代码】
   Dim intA(1 To 10)As integer
       Private Sub cmdGene_Click( )
       Dim intl As Integer
       Randomize
       For intl = 1 To 10
           intA(intl) =(1)  
       Next intl
   End Sub
   Private Sub cmdSort_Click( )
       Dim intl, intJ,intMin, intTemp As Integer
       For intl = 1 To 9
           intMin = intA(intl)
           For intJ=(2)  To 10
               If intA(intJ) < intMin Then
                   Temp = intA(intJ)
                   intA(intJ)=(3)  
                   intMin = intTemp
               End If
           Next intJ
             (4)  
             (5)  
           For intl = 1 To 10
               Print Str(intA(intl))+" ";
           Next intl
       Next lntl
       Print
   End Sub

选项

答案(1)1+int(rnd*100) (2)intI+1 (3)intMin (4)intA(intI)=intMin (5)Next intI

解析 根据题意,第一个空应该是产生10个[1,100]范围内的随机整数,因此填“1+int(rnd*100)”。
   选择排序思想是:第i趟排序开始时,当前有序区和无序区分别为 R[1..i-1]和R[i..n](1≤i≤n-1),该趟排序则是从当前无序区中选出关键字最小的记录R[k],将它与无序区的第1个记录R交换,使R[1..i]和R[i+1..n)分别变为新的有序区和新的无序区。因为每趟排序均使有序区中增加了一个记录,且有序区中的记录关键字均不大于无序区中记录的关键字,即第i趟排序之后R[1..i].keys≤R[i +1..n].keys,所以进行n-1趟排序之后有R[1..n-1].keys≤R[n]. key。也就是说,经过n-1趟排序之后,整个文件R[1..n]递增有序。因此(2)空填“intI+1”;If intA(intJ)<intMin Then后的3条语句是实现数intA(intJ)与intMin的交换,因此(3)空填“intMin”;(4)空是实现最小数与无序区的第1个数交换,因此填“intA(intI)=intMin”;(5)空是循环结束语句,填“Next intI”。
转载请注明原文地址:https://kaotiyun.com/show/OojZ777K
0

最新回复(0)