524443834 发表于 2015-12-16 14:45:05

怎么计算A,B,C中哪个最大

例如:dim $a = 39 $b = 27 $c = 50

怎么才能让程序快速计算出A,B,C哪个最大

haijie1223 发表于 2015-12-16 15:17:49

瞪眼观察法。。。

afan 发表于 2015-12-16 15:24:14

眯眼冥思法…
怎样才能让LZ发对正确的版块…
这样要比较,不用数组,光写变量就搞晕你

lanfengc 发表于 2015-12-16 16:02:20

本帖最后由 lanfengc 于 2015-12-16 16:33 编辑

回复 1# 524443834

回复 3# afan

三目运算符。
Local $a=25, $b=22, $c=33
Local $max= GetMaxNum($a,$b,$c)
MsgBox(0,0,$a&" "&$b&" "&$c&" 中的最大值是 :" & $max)

Func GetMaxNum($a,$b,$c)
        Return $a>$b ? ($a>$c ? $a : $c): ($b > $c ? $b : $c)
EndFunc

afan 发表于 2015-12-16 16:16:44

回复 4# lanfengc


    试试 $a=25

lanfengc 发表于 2015-12-16 16:34:06

回复 5# afan


    少做了一次三目运算。

Return $a>$b ? ($a>$c ? $a : $c): ($b > $c ? $b : $c)

afan 发表于 2015-12-16 17:51:06

回复afan


    少做了一次三目运算。

Return $a>$b ? ($a>$c ? $a : $c): ($b > $c ? $b : $c)
lanfengc 发表于 2015-12-16 16:34 http://www.autoitx.com/images/common/back.gif


    现在对了。三目用在3个数以内比大小还真是简单高效

524443834 发表于 2015-12-16 21:43:52

谢谢上面帮我的几位,现在在学习其他语言,遇到这个难题,也不算难题,就是不想写IF把自己写晕,想着总有一个科学的办法,又回母论坛了
其实就这么简单的比较,没有两把刷子你们是搞不定的,什么瞪眼法,你知道程序不知道

例如有100个随机数字,你怎么才能让MSGBOX瞬间弹出哪个最大呢??

524443834 发表于 2015-12-16 21:44:35

回复 7# afan

又见AFAN,A版主谢谢你拉

afan 发表于 2015-12-16 22:51:06

回复 9# 524443834


    其实用数组的话有现成的 _ArrayMax()

haijie1223 发表于 2015-12-17 09:37:20

回复 8# 524443834


   看来楼主不善于瞪眼观察法,眯眼冥思法。。。直接搞到数组里面用现成的函数。。。
_ArrayMax
_ArrayMin

车技一流 发表于 2015-12-17 21:06:05

我是新手学习了

skyfree 发表于 2015-12-22 10:09:31

回复 8# 524443834


    如果是100这么大量的值,你基本上需要数组来解决这个问题#include <Array.au3>

Opt('MustDeclareVars', 1)

_Demo__Main()
Exit

Func _Demo__Main()
        ;生成100个随机数值,存放入数组
        Local $i, $aArray
        SRandom(Number(StringRight(TimerInit(), 4)))
        For $i = 1 To 100
                $aArray[$i] = Random(1, 1000, 1)
        Next
       
        ;获取数组中的最大值
        Local $Max = _ArrayMax($aArray)
        MsgBox(64, '信息', '最大值为:' & $Max)
EndFunc   ;==>_Demo__Main
我写的生成100个随机值放进数组,只是给你举个例子,你需要有自己的方法将你的随机数据放入你的数组。

虫子樱桃 发表于 2015-12-22 11:29:36

回复 13# skyfree


    额,来打个招呼,哈哈

不是小灵通 发表于 2015-12-22 16:52:49

算法很简单,编程不在行,哈哈
先取第1个变量与第2个变量进行比较,若>,则继续与下一个变量相比较;遇到<,则重新赋值为后者
页: [1] 2
查看完整版本: 怎么计算A,B,C中哪个最大