网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月05日漏签0天
vb吧 关注:156,084贴子:1,166,241
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 8回复贴,共1页
<<返回vb吧
>0< 加载中...

求教~数独问题

  • 只看楼主
  • 收藏

  • 回复
  • BlackOops
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
额,
我想写一个数独的小程序
我想要电脑随机产生1~9这9个数,而且都不重复。
能用Rnd么?
我用Rnd+Do/Loop试了很久都没弄出来……
求教高手。


  • BlackOops
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顺便说声~
我初学VB,有些问题想请教各位。
有时间的可以加我关注或者Q,我们可以互相学习讨论~~
我Q 249345181
谢~


2025-09-05 04:56:08
广告
不感兴趣
开通SVIP免广告
  • BlackOops
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
....
还没人来么……
就是要取1~9中9个不同的整数分别放到9个不同的Label里面
Option Explicit
Private Sub Form_Load()
    Dim intNumber As Integer, Index As Integer
   
        For Index = 0 To 8
            Randomize
            intNumber = Int(Rnd * 8 + 1)
            Label1(Index).Caption = intNumber
        Next Index
   
End Sub
求高手告诉我还需要加什么..



  • BlackOops
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

都没人么...
这次弄得进入了死循环....
Private Sub Command1_Click()
    Dim intNumber(0 To 8) As Integer, Index As Integer
    Dim SameNum As Boolean
    Dim i As Integer
   
    Randomize
    For Index = 0 To 8
        Do
            intNumber(Index) = Int(Rnd * 8 + 1)
            SameNum = False
            For i = 0 To Index - 1
                If intNumber(i) = intNumber(Index) Then SameNum = True
            Next i
        Loop While SameNum = True
        Label1(Index).Caption = intNumber(Index)
    Next Index
   
End Sub
看到了请留言啊`~~~~~



  • laxflkid
  • 基本语句
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
index=0,index-1=-1,for不执行,samenumber恒为false,死循环


  • laxflkid
  • 基本语句
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
int是取整,int(random()*9+1)


  • 傻旺财
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
试试看这个哈
Private Sub Command1_Click()
Dim number(9) As Integer, box(1) As Integer, i As Integer, j As Integer
Label1.Caption = ""
For i = 1 To 9
     number(i) = i
Next i
j = 0
Randomize
Do Until j > 8
box(1) = Int(Rnd * (8 - j)) + 1
Label1.Caption = Label1.Caption & Str(number(box(1)))
box(0) = number(box(1))
number(box(1)) = number(9 - j)
number(9 - j) = box(0)
j = j + 1
Loop
End Sub


  • sunzhihuiustb
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
   Dim A(8) As Integer, i As Integer, j As Integer
Randomize
For i = 0 To 8
     Do
   A(i) =1+ Int(9 * Rnd)
       For j = 0 To i - 1
         If A(j) = A(i) Then Exit For
       Next j
       If j = i Then Exit Do
     Loop
Next i



2025-09-05 04:50:08
广告
不感兴趣
开通SVIP免广告
  • BlackOops
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢楼上几位,我弄明白了.


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 8回复贴,共1页
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示