比如:又几个变量 N1 N2 N3 N4 N5 N6 ......N10 想快速判断谁最大,那么我提供2个思路来解决这个问题;思路解释;循环比较10次,但是和思路A 有所不同 ;这个是直接判断,当前位置变量,是否大于其他9个数,如果 那么他自然为最大数,可以减少执行次数 ;思路A的弊端是,每次都会执行10次,思路B,可能在第二次 判断为最大数,那么就直接停止执行了 比如:又几个变量 N1 N2 N3 N4 N5 N6 ......N10 想快速判断谁最大,那么我提供2个思路来解决这个问题 不需要排序,不通过文本,快速高效 脚本里,附带思路解释与详细说明 注:我不会发布完整功能脚本,只发布思路案例,具体应用请自便 主要互相交流思路 取出最大值_思路A [@main] #IF #ACT ;定义一组变量, 该形式类似于其他变成的整形数组,可用嵌套变量方式,动态获取 N$数值0-9 的变量值 MOV N$原始变量_0 70 MOV N$原始变量_1 1025 MOV N$原始变量_2 744 MOV N$原始变量_3 456 MOV N$原始变量_4 128 MOV N$原始变量_5 355 MOV N$原始变量_6 69 MOV N$原始变量_7 102 MOV N$原始变量_8 448 MOV N$原始变量_9 569 mov N$位置 0 GOTO @取出最大数值 [@取出最大数值] #IF #ACT ;将当前循环 所在位置数组 赋值为普通变量 方便判断大小 mov N$当前变量 <$str(N$原始变量_<$str(N$位置)>)> ;判断当前位置变量值,是否大于其他9个数值 #IF not small N$当前变量 <$str(N$原始变量_0)> not small N$当前变量 <$str(N$原始变量_1)> not small N$当前变量 <$str(N$原始变量_2)> not small N$当前变量 <$str(N$原始变量_3)> not small N$当前变量 <$str(N$原始变量_4)> not small N$当前变量 <$str(N$原始变量_5)> not small N$当前变量 <$str(N$原始变量_6)> not small N$当前变量 <$str(N$原始变量_7)> not small N$当前变量 <$str(N$原始变量_8)> not small N$当前变量 <$str(N$原始变量_9)> #ACT sendmsg 7 最大值=<$str(N$当前变量)> #elseact ;累计循环计数变量 inc N$位置 1 GOTO @取出最大数值 不需要排序,不通过文本,快速高效 脚本里,附带思路解释与详细说明 注:我不会发布完整功能脚本,只发布思路案例,具体应用请自便 主要互相交流思路 取出最大值_思路B ;思路解释 ;循环比较10次,如果大于当前位置 变量,就暂时设定他为做大,直至终止,等结束后,哪最后一个位置自然为最大数值 [@main] #IF #ACT ;定义一组变量, 该形式类似于其他变成的整形数组,可用嵌套变量方式,动态获取 N$数值0-9 的变量值 MOV N$数值0 10 MOV N$数值1 12 MOV N$数值2 9 MOV N$数值3 3 MOV N$数值4 5 MOV N$数值5 7 MOV N$数值6 20 MOV N$数值7 29 MOV N$数值8 15 MOV N$数值9 8 GOTO @取出最大数值 [@取出最大数值] #IF #ACT MOV N$最大值 0 \\先初始化变量 MOV N$值循环 0 \\先初始化变量 ;10此循环 Loopgoto @取值计算循环程序 10 [@取值计算循环程序] #IF #ACT INC N$值循环 1 \\每循环一次,变量+1 ;检测本次 数组成员的值,是否大于上一次,如果大于,那么暂且设定该值为最大值 #IF LARGE N$数值<$STR(N$值循环)> <$STR(N$最大值)> #ACT MOV N$最大值 <$STR(N$数值<$STR(N$值循环)>)> ;循环结束,上一段记录过的成员,就是本组数值的最大值 #IF EQUAL N$值循环 10 #ACT SENDMSG 7 〖提示〗最大值:<$STR(N$最大值)> BREAK |