TC官方合作论坛

 找回密码
 立即注册
查看: 1067|回复: 8

[已解决] 小白问题, 能优化吗

[复制链接]
发表于 2015-12-18 17:46:29 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 cjxdn 于 2015-12-18 20:02 编辑

效果:
03 05 10 09 (1次)
03 06 07 01 (2次)
....
10 05 02 09 (300次)
4个不相同的数, 0~10的随机数, 遍历300次
///////////////////////////////////////////////////
   
    列表框.清空("列表框0")
    辅助.等待(1000)
    遍历(i=0;i<300;i++)
        
        临时保存=数组[4]
        遍历(p=0;p<4;p++)
重新循环:
            
            循环(真)
                自定义数字=辅助.随机数(0,10)
                如果(p==0)
                    临时保存[0]=自定义数字
                    跳出
                否则
                    遍历(j=0;j<4;j++)
                        如果(自定义数字!=临时保存[j])
                            如果(j==3)
                                临时保存[p]=自定义数字
                            如果结束
                        否则
                            跳转 重新循环
                        如果结束
                        
                    遍历结束
                如果结束
               
               
                如果(p==3)
                    第一个=字符串.长度(临时保存[0])
                    如果(第一个==1)
                        临时保存[0]="0"&临时保存[0]
                    如果结束
                    第二个=字符串.长度(临时保存[1])
                    如果(第二个==1)
                        临时保存[1]="0"&临时保存[1]
                    如果结束
                    第三个=字符串.长度(临时保存[2])
                    如果(第三个==1)
                        临时保存[2]="0"&临时保存[2]
                    如果结束
                    第四个=字符串.长度(临时保存[3])
                    如果(第四个==1)
                        临时保存[3]="0"&临时保存[3]
                    如果结束
                    
                    结果=临时保存[0]&" "&临时保存[1]&" "&临时保存[2]&" "&临时保存[3]
                    列表框.增加文本("列表框0",结果)
                    
                    数组空间.清空(临时保存)
                如果结束
                跳出
            循环结束
        遍历结束
    遍历结束
   
回复

使用道具 举报

发表于 2015-12-18 21:52:15 | 显示全部楼层
我也来凑一脚...
  1. function 四个随机数()
  2.     var 局_随机 = "",局_返回 = ""
  3.     while(strlen(局_返回) < 11)
  4.         局_随机 = strright("0" & rnd(0,10),2)
  5.         if(strfind(局_返回,局_随机) < 0)
  6.             if(strlen(局_返回))
  7.                 局_返回 = 局_返回 & " "
  8.             end
  9.             局_返回 = 局_返回 & 局_随机
  10.         end
  11.     end
  12.     return 局_返回
  13. end
复制代码

评分

参与人数 0威望 +10 金币 +10 收起 理由
言术 + 10 + 10 很好的思路,学习了

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2015-12-18 18:59:32 | 显示全部楼层
变量 a,b,c,d,数字1,数字2,数字3,数字4
    遍历(变量 i = 0; i < 300; i++)
        数字1=随机数(0,10)
        如果(数字1<10)
            a="0"&数字1
        结束
        遍历(变量 j = 0; j < 11; j++)
            变量 临时数1=随机数(0,10)
            如果(临时数1!=数字1)
                数字2=临时数1
                如果(数字2<10)
                    b="0"&数字2
                结束
                跳出
            结束
        结束
        遍历(变量 m = 0; m < 11; m++)
            变量 临时数2=随机数(0,10)
            如果(临时数2!=数字1&&临时数2!=数字2)
                数字3=临时数2
                如果(数字3<10)
                    c="0"&数字3
                结束
                跳出
            结束
        结束
        遍历(变量 n = 0; n < 11; n++)
            变量 临时数3=随机数(0,10)
            如果(临时数3!=数字1&&临时数3!=数字2&&临时数3!=数字3)
                数字4=临时数3
                如果(数字4<10)
                    d="0"&数字4
                结束
                跳出
            结束
        结束
        调试输出(a&","&b&","&c&","&d)
    结束
回复 支持 反对

使用道具 举报

发表于 2015-12-18 19:54:49 | 显示全部楼层
描述一下你想要的功能,重新写,如果要优化的话也得知道这是做什么用的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-18 20:02:03 | 显示全部楼层
言术 发表于 2015-12-18 19:54
描述一下你想要的功能,重新写,如果要优化的话也得知道这是做什么用的吧 ...

有说明啊
就是要随机数啊

效果:
03 05 10 09 (1次)
03 06 07 01 (2次)
....
10 05 02 09 (300次)
4个不相同的数, 0~10的随机数, 遍历300次
回复 支持 反对

使用道具 举报

发表于 2015-12-18 20:03:39 | 显示全部楼层
我上面写的完全可以
回复 支持 反对

使用道具 举报

发表于 2015-12-18 20:31:09 | 显示全部楼层
本帖最后由 言术 于 2015-12-18 20:46 编辑

看下面
回复

使用道具 举报

发表于 2015-12-18 20:34:45 | 显示全部楼层
  1. 功能 从这里开始()
  2.     遍历(变量 i = 0; i < 300; i++)
  3.         调试输出(四个随机数())
  4.     结束
  5. 结束

  6. 功能 四个随机数()
  7.     变量 结果 = 数组(),标识 = 数组()
  8.     变量 m,n
  9.     遍历(变量 i = 0; i < 4; i++)
  10.         循环(真)
  11.             n = 随机数(0,10)
  12.             如果(标识[n] != 1)
  13.                 如果(n != 10)
  14.                     m="0"&n
  15.                 否则
  16.                     m=n
  17.                 结束
  18.                 结果[i] = m
  19.                 标识[n] = 1
  20.                 跳出
  21.             结束
  22.         结束
  23.     结束
  24.     返回 结果[0]&" "&结果[1]&" "&结果[2]&" "&结果[3]
  25. 结束
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-18 23:03:19 | 显示全部楼层

感谢大家的指教, 大神你的太精辟了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 19:45 , Processed in 0.040791 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表