早教吧作业答案频道 -->其他-->
vb程序题运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应是运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是()Subp1()Dimi,j,arr(11)AsInteg
题目详情
【vb程序题】运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应是
运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是( )
Sub p1( )
Dim i,j,arr(11) As Integer
k = 1
while k arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Debug.Print arr(i)
Next i
End Sub
无序数列
不懂是怎么推出来的,
运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是( )
Sub p1( )
Dim i,j,arr(11) As Integer
k = 1
while k arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Debug.Print arr(i)
Next i
End Sub
无序数列
不懂是怎么推出来的,
▼优质解答
答案和解析
在while循环k=1到k=10中,给数组赋值.
你分别输入10,20,50,80,40,30,90,100,60,70.
也就是说arr(1)=10,arr(2)=20.arr(10)=70
For i = 1 To 9 '从i=0 到 i =9循环,每循环一次i+1
j = i + 1 'j 总是比 i 大1
If arr(i ) > arr(j) Then '相当于arr(x) 与arr(x+1)比较,如果arr(x) > arr(y),则...
temp = arr(i) ' arr(x)先赋值给temp
arr(i) = arr(j) ' arr(x+1)赋值给arr(x)
arr(j) = temp 'temp再赋值给arr(x+1)
'三句加起来就是arr(x)与arr(x+1)的值互换
End If '整个if语句的作用就是如果arr(x) > arr(y),就把它们俩儿换过来
Debug.Print arr(i)
Next i '整个for循环就是给你的arr(1)到arr(10)排序
arr(1)=10 < arr(2)=20 ,不用换
arr(2)=20 < arr(3)=50 ,不用换
arr(3)=50 < arr(4)=80 ,不用换
arr(4)=80 > arr(5)=40 ,换过来,变成arr(4)=40 , arr(5)=80
到第五次循环
arr(5)=40 > arr(6)=30 ,换过来,变成arr(5)=30 , arr(6)=40
.
以此类推,最后循环结束得到
arr(1)到arr(10)分别为 10,20,50,40,30,80,90,60,70,100
因此还是无序数列.
要想变成有序数列,还需要在for循环外面再加一层for循环,让它们多次比较(也就变成某种排序方法了).
你分别输入10,20,50,80,40,30,90,100,60,70.
也就是说arr(1)=10,arr(2)=20.arr(10)=70
For i = 1 To 9 '从i=0 到 i =9循环,每循环一次i+1
j = i + 1 'j 总是比 i 大1
If arr(i ) > arr(j) Then '相当于arr(x) 与arr(x+1)比较,如果arr(x) > arr(y),则...
temp = arr(i) ' arr(x)先赋值给temp
arr(i) = arr(j) ' arr(x+1)赋值给arr(x)
arr(j) = temp 'temp再赋值给arr(x+1)
'三句加起来就是arr(x)与arr(x+1)的值互换
End If '整个if语句的作用就是如果arr(x) > arr(y),就把它们俩儿换过来
Debug.Print arr(i)
Next i '整个for循环就是给你的arr(1)到arr(10)排序
arr(1)=10 < arr(2)=20 ,不用换
arr(2)=20 < arr(3)=50 ,不用换
arr(3)=50 < arr(4)=80 ,不用换
arr(4)=80 > arr(5)=40 ,换过来,变成arr(4)=40 , arr(5)=80
到第五次循环
arr(5)=40 > arr(6)=30 ,换过来,变成arr(5)=30 , arr(6)=40
.
以此类推,最后循环结束得到
arr(1)到arr(10)分别为 10,20,50,40,30,80,90,60,70,100
因此还是无序数列.
要想变成有序数列,还需要在for循环外面再加一层for循环,让它们多次比较(也就变成某种排序方法了).
看了 vb程序题运行下列过程,当输...的网友还看了以下:
一个数在数轴上移动时,这个点所表示的数也会发生变化.(1)如果点A从原点开始,向右移动3个单位长度 2020-05-15 …
若果 a 和 b是符号相反的两个数,在数轴上a所对应的数和 b所对应的点相距6个单位长度,如果a= 2020-05-16 …
1.(1)已知数轴上点M,O,N对应的数分别-3.0.1,点p为数轴上任意一点.如果点p到M,N距 2020-06-06 …
如图,有一数轴原点为O,点A所对应的数是-112,点A沿数轴匀速平移经过原点到达点B.(1)如果O 2020-07-10 …
有一数轴原点为O,点A所对应的数是-112,点A沿数轴匀速平移,经过原点到达点B1如果OA=OB. 2020-07-10 …
有一数轴原点为o,点A所对应的数是-1.5,点A沿数轴均速平移经过原点,到达点B(1)如果oA=3 2020-07-10 …
如图,在数轴上有一条可以移动的线段AB.若将线段AB向右移动,使得点A移动到点B处,这时点B对应的 2020-07-16 …
数学题急本题满分12分)已知数轴上三点M,O,N对应的数分别为-5,0,1,点P为数轴上任意一点, 2020-07-18 …
已知数轴上三点M,O,N对应的数分别为-3,0,1,点P为数轴上任意一点,其对应的数为x.(1)如 2020-07-19 …
如果数轴上有两点P、Q,如果点P对应的数是-21,且P、Q间距离是4.求点Q对应的数? 2020-08-03 …