现要编写一个程序,对每个班级的同学生成考试座位号,规则如下:先按成绩从高到低排序,如果成绩相同,学号在前的学生座位号在前,最后输出每个同学的座 位号。小王和小李采用不同的方法实现了上述算法。 请仔细比较两位同学的代码的不同之处,并完成相关代码的填空。
Dim xm(1 To n) As String,xh(1 To n) As String
Dim cj(1 to n)As Integer
Private Sub form_load ( )
‘读取相关数据表,把姓名、学号、成绩分别存储到数组 xm、xh、cj 中,并在 List1 中显示,代码略 End Sub
Private Sub Com1_Click ( )′小王编写的代码部分
Dim wz(1 To n) As Integer
For i=1 To n-1 wz(i)=i
For j=n To i+1 Step-1
If (1)Then
t=cj(j):cj(j)=cj(j-1):cj(j-1)=t t=xh(j):xh(j)=xh(j-1):xh(j-1)=t
End If
Next j
Next i
(2) For i=1 To n-1
For j=n To i+1 Step-1
If(3)Then
t=cj(j):cj(j)=cj(j-1):cj(j-1)=t t=xh(j):xh(j)=xh(j-1):xh(j-1)=t t=wz(j):wz(j)=wz(j-1):wz(j-1)=t
End If
Next j
Next i
List2.Clear
List2.AddItem″学号 姓名 成绩 座位号″For i=1 To n
List2.AddItem xh(i)+″″+xm(i)+″″+Str(cj(i))+““+Str(wz(i))
Next i
End Sub
Private Sub Com2_Click ( )′小李编写的代码部分
Dim wz(1 To n) As Integer,t(1 To n) As Integer
For i=1 To n t(i)=i
Next i
For i=1 To n
For j=n To i+1 Step-1
If(4)Then
temp=t(j):t(j)=t(j-1):t(j-1)=temp
End If
Next j(5)Next i
List2.Clear
List2.AddItem″学号 姓名 成绩 座位号″For i=1 To n
List2.AddItem xh(i)+″″+xm(i)+″″+Str(cj(i))+″″+Str(wz(i))
Next i
End Sub
【考点】冒泡排序算法及其实现.
【答案】(1)cj(j)>cj(j-1)(2)wz(n)=n(3)xh(j)<xh(j-1)(4)cj(t(j))>cj(t(j-1))(5)wz(t(i))=i
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:5引用:1难度:0.3
相似题
-
1.有如下 Python 程序段:
运行后列表中的值可能是( )发布:2024/12/18 21:0:2组卷:5引用:3难度:0.3 -
2.用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a
该函数VB代码如下:
Function bubble_sort(sx As Boolean,a
Dim i,j,t As Integer
For i=1 To n-1
For j=
If
If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
If a(j)>a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
bubble_sort=a
End Function
请将代码补充完整:
①
②发布:2024/12/20 20:30:1组卷:23引用:2难度:0.3 -
3.用选择排序法对一组数据进行升序排序,第一趟排序结束后的顺序为2、6、9、3、7,则原始数据顺序不可能的是( )
发布:2024/12/18 23:0:1组卷:10引用:1难度:0.5