传奇多个变量取最其中大值范本参考

2025-08-13 0 84

比如:又几个变量   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

 

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

爱学GM资源社区 传奇技术 传奇多个变量取最其中大值范本参考 https://www.2xgm.com/2294.html

相关文章

发表评论
暂无评论