以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]三个值中从大到小,总是取第二大的怎么写? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=164353) |
-- 作者:sz1987cn -- 发布时间:2018/7/10 16:05:32 -- [求助]三个值中从大到小,总是取第二大的怎么写? 老师好,我想问一下有三个值,从大到小,我想总是取第二大的值,应该如何编写?逻辑有点乱了,多谢! |
-- 作者:FireScript -- 发布时间:2018/7/10 16:14:41 -- 假设a,b,c(代码编写时候不要用c,c是关键字,这里只是举例) 为已知的三个变量 result:if(a>b,if(b>c,b,c),if(a>c,a,c)); 不过有个逻辑问题,如果有相等值如何取舍?上面代码暂未考虑相等的情况。
|
-- 作者:sz1987cn -- 发布时间:2018/7/10 16:19:06 -- 以下是引用FireScript在2018/7/10 16:14:41的发言:
好的,谢谢老师的逻辑。我现在大概明白了,老师提的问题我再想想。我目前的想法是:如果其中有相等的就取所有数中最大的(做多时候),反之是最小
假设a,b,c(代码编写时候不要用c,c是关键字,这里只是举例) 为已知的三个变量 result:if(a>b,if(b>c,b,c),if(a>c,a,c)); 不过有个逻辑问题,如果有相等值如何取舍?上面代码暂未考虑相等的情况。
|
-- 作者:wenarm -- 发布时间:2018/7/11 0:09:04 -- aaa:max(aa,max(bb,cc)); bbb:min(aa,max(bb,cc)); ccc:min(aa,min(bb,cc)); if aaa<>bbb and bbb<>ccc and aaa<>ccc then begin MAX_X:=bbb; end ELSE BEGIN MAX_X:=aaa; END result:MAX_X;
|