作业帮 > 综合 > 作业

vb中随机生成10个10~90的整数,把能被3整除的随机数从小到大排序

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 16:48:53
vb中随机生成10个10~90的整数,把能被3整除的随机数从小到大排序
Randomize初始化随机数发生器
Rnd()获取0~1之间的随机数,乘以90后再加上10,取整后就是10~90之间的了
然后挑选出来 Mod 3 = 0的数据排序就是了
再问: 就是mod 3=0后不会排序啊
再答: 假定已经挑选出来到数组中了,然后直接使用最简单的冒泡法排序就是了 仅仅做一个示例阿,细节自己再debug看看吧 For i = 0 To UBound(DataArray) For j = 0 To i If DataArray(j) > DataArray(j + 1) Then tmp = DataArray(j) DataArray(j) = DataArray(j + 1) DataArray(j + 1) = tmp End If Next Next
再问: 这个错哪了啊
再答: 1、这个算法不正确,前面说过了,首先要把Mod 3的数据挑选出来形成新的数组后再排序,你没做 2、a(i)的数据类型是什么?需要整数Integer才可以做Mod的阿
再问: 我的vb很烂,能具体写出来吗
再答: 假定你的随机数组已经出来了,是A(),接下来我们挑选mod3的到B() jsq = 0 For i = 0 To UBound(A) IF A(i) Mod 3 = 0 Then B(jsq) = A(i) jsq = jsq + 1 End IF Next 这样子就完事了,剩下的就可以Bubble sort来完成排序了。 当然,可以优化一下的,将上述过程的挑选与排序合一,使用Insert sort算法来完成也可以,更简洁些。