| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 256 人关注过本帖
标题:求一段代码.要求比较精简的
只看楼主 加入收藏
lkflsj
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-22
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
求一段代码.要求比较精简的
在1-100中生成33个数组.每组3个数.每组数的组合是随机的.每个数组里的数不能重复出现.比如10出现在一个数组里.那么其它数组将不能有10了.程序结束后显示数组结果和剩下的一个数

[ 本帖最后由 lkflsj 于 2012-12-13 11:55 编辑 ]
2012-12-13 11:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:10 
Option Explicit

Private Sub Command1_Click()

Dim i As Long
Dim j As Long
Dim m As Long

Dim q(1 To 100) As Boolean
Dim jg(1 To 33, 1 To 3) As Long


For i = 1 To 100    '初始化未使用的数据
    q(i) = False
Next i

For i = 1 To 33
    For j = 1 To 3
        m = Int(Rnd() * 99) + 1         '产生一个数据
        Do While q(m)       '是否用过
            '第一种处理办法:重新产生,有可能会继续重复
            'm = Int(Rnd() * 99) + 1
            
            '第二种处理办法:向下搜索第一个未使用的数据
            m = m + 1
            If m > 100 Then m = 1
        Loop
        jg(i, j) = m        '使用该数据
        q(m) = True         '标记为使用了
    Next j
Next i

'显示结果
Cls
For i = 1 To 33
    For j = 1 To 3
    Print jg(i, j);
    Next j
    Print
Next i

'搜索并显示未使用的数据
For i = 1 To 100
    If Not q(i) Then
        Print i
    End If
Next i

End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2012-12-13 13:36
快速回复:求一段代码.要求比较精简的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018348 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved