VB选择题
实现某排序算法的部分VB程序如下:Fori=1To4Forj=5Toi+1Step-1Ifa(j)<a(j-1)Thent=a(j):a(j)=a(j-1):a(j-1)...
实现某排序算法的部分VB程序如下:
For i = 1 To 4
For j = 5 To i + 1 Step -1
If a(j) < a(j - 1) Then t = a(j) : a(j) = a(j - 1) : a(j - 1) = t
Next j
Next i
在经过某一遍排序“加工”后,数组元素a(1)到a(5)的数据依次为“28,70,53,57,30”。则 下一遍排序“加工”后数组元素a(1)到a(5)的数据应该是
A. 28, 30,70,53,57
B. 28, 30,53,57,70
C. 28,30,57,53,70
D. 28, 30,53,70, 57
答案选A,解释一下这个算法实现的过程
怎么感觉应该选B呢?? 展开
For i = 1 To 4
For j = 5 To i + 1 Step -1
If a(j) < a(j - 1) Then t = a(j) : a(j) = a(j - 1) : a(j - 1) = t
Next j
Next i
在经过某一遍排序“加工”后,数组元素a(1)到a(5)的数据依次为“28,70,53,57,30”。则 下一遍排序“加工”后数组元素a(1)到a(5)的数据应该是
A. 28, 30,70,53,57
B. 28, 30,53,57,70
C. 28,30,57,53,70
D. 28, 30,53,70, 57
答案选A,解释一下这个算法实现的过程
怎么感觉应该选B呢?? 展开
2个回答
展开全部
“28,70,53,57,30”
当i=1 时,j=5 to 2
当j=5时a(5)=30,a(4)=57, a(j)<a(j-1)成立, 所以进行交换, a(5)=57,a(4)=30
..
当a(2)=30时,a(1)=28, a(j)<a(j-1)不成立, 所以不进行交换
循环结果为: 28, 30,70,53,57
当i=2时, j=5 to 3
当j=5时a(5)=57,a(4)=53, a(j)<a(j-1)不成立, 所以不进行交换
当j=4时a(4)=53,a(3)=70, a(j)<a(j-1)不成立, 所以不进行交换
当j=5时a(3)=70,a(2)=30, a(j)<a(j-1)不成立, 所以不进行交换
当i=3时, j=5 to 4
当j=5时a(5)=57,a(4)=53, a(j)<a(j-1)不成立, 所以不进行交换
当j=4时a(4)=53,a(3)=70, a(j)<a(j-1)不成立, 所以不进行交换
当i=4时, j=5 to 5
当j=5时a(5)=57,a(4)=53, a(j)<a(j-1)不成立, 所以不进行交换
当i=1 时,j=5 to 2
当j=5时a(5)=30,a(4)=57, a(j)<a(j-1)成立, 所以进行交换, a(5)=57,a(4)=30
..
当a(2)=30时,a(1)=28, a(j)<a(j-1)不成立, 所以不进行交换
循环结果为: 28, 30,70,53,57
当i=2时, j=5 to 3
当j=5时a(5)=57,a(4)=53, a(j)<a(j-1)不成立, 所以不进行交换
当j=4时a(4)=53,a(3)=70, a(j)<a(j-1)不成立, 所以不进行交换
当j=5时a(3)=70,a(2)=30, a(j)<a(j-1)不成立, 所以不进行交换
当i=3时, j=5 to 4
当j=5时a(5)=57,a(4)=53, a(j)<a(j-1)不成立, 所以不进行交换
当j=4时a(4)=53,a(3)=70, a(j)<a(j-1)不成立, 所以不进行交换
当i=4时, j=5 to 5
当j=5时a(5)=57,a(4)=53, a(j)<a(j-1)不成立, 所以不进行交换
展开全部
为了使下一个输出语句的输出项不换行输出,则应在本print语句的尾部加“;”,且只能加“;”。这句话是错的,那还有什么方法会使下一个输出语句的输出项不换行输出-------可在本print语句的尾部加上“,”。
为什么Len(Str(123)+“123”))的结果为6不正确----------这是因为Str(123)的长度为4(前面有一个空格,正数的符号位)。
表达式Val(".0.123E2AB")的值为0-------第一个字符“."也是有效的。“1”前面的点就是第二个点了,所以就非法(停止转换)了。
为什么Len(Str(123)+“123”))的结果为6不正确----------这是因为Str(123)的长度为4(前面有一个空格,正数的符号位)。
表达式Val(".0.123E2AB")的值为0-------第一个字符“."也是有效的。“1”前面的点就是第二个点了,所以就非法(停止转换)了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询