TC官方合作论坛

标题: 小白问题, 能优化吗 [打印本页]

作者: cjxdn    时间: 2015-12-18 17:46
标题: 小白问题, 能优化吗
本帖最后由 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 18:59
变量 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
描述一下你想要的功能,重新写,如果要优化的话也得知道这是做什么用的吧
作者: cjxdn    时间: 2015-12-18 20:02
言术 发表于 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
我上面写的完全可以
作者: 言术    时间: 2015-12-18 20:31
本帖最后由 言术 于 2015-12-18 20:46 编辑

看下面

作者: 言术    时间: 2015-12-18 20:34
  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. 结束
复制代码

作者: sam7894604    时间: 2015-12-18 21:52
我也来凑一脚...
  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
复制代码

作者: cjxdn    时间: 2015-12-18 23:03
sam7894604 发表于 2015-12-18 21:52
我也来凑一脚...

感谢大家的指教, 大神你的太精辟了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1