level 1
已知有序数组a(),编程插入x(x的值为54)。数组a中的元素分别为{4,20,31,63,75,89,99, 100,110 }
2018年05月20日 10点05分
1
level 11
最简单的办法
先把这个54放到最后
然后,重新排序
这个方法思路清晰,容易理解和实施
2018年05月20日 10点05分
2
可以写下程序吗?我刚刚学
2018年05月20日 12点05分
@free1yi 哦,你刚学,你不会在最后放一个数,还是不会排序?
2018年05月21日 00点05分
level 15
参考代码:
dim a(),x as integer
dim i as integer
a=array(4,20,31,63,75,89,99,100,110)
x=54
redim preserve a(ubound(a)+1) '在数组最后增加一个空位
for i=ubound(a) to 1 step -1 '从数组最后逐渐往前查找x的位置
if x<a(i-1) then '如果x小于前面一个数,表示x应该放在这个数前面
a(i)=a(i-1) '那么前面这个数就后移一个位置
else '否则,就表示x应该放在这个空位
exit for '找到位置了,退出循环
endif
next i
a(i)=x '把x放到对应的位置上
2018年05月20日 12点05分
3
你好,运行不了,没显示结果
2018年05月20日 13点05分
@free1yi 本来就没写显示的代码,自己补上啊,难道你连这个都不会么
2018年05月20日 13点05分
我也刚学,这里应该使用print语句
2018年05月21日 01点05分
level 1
Dim a()
Dim s, f, i, x
a = Array(4, 20, 31, 63, 75, 89, 99, 100, 110)
s = UBound(a)
x = 54
For f = 0 To s
If x < a(f) Then
Exit For
End If
Next
ReDim Preserve a(s + 1)
For i = s To f Step -1
a(i + 1) = a(i)
Next
a(f) = x
For i = 0 To s + 1
Print a(i)
Next
2022年02月13日 13点02分
5