注册 登录
编程论坛 Delphi论坛

求助一个超难的条件选择语句

bianchengaih 发布于 2010-11-06 20:53, 697 次点击
命题:有A,B,C,D四个数,A只能取值0或1,B只能取值0或2,C只能取值0或3,D只能取值0或4,
并且A,B,C,D这四个数某一时刻肯定有也只能有一个数是非零,其他三个数肯定是零。
求随机情况某时间点下z=A+B+C+D的和。
定义变量的步骤就省略了,
如果用LUA语言的话很简单:
if A>0 then
  z=1
elseif b>0 then
  z=2
elseif c>0 then
  z=3
elseif d>0 then
  z=4
end

如果用delphi
我只能用连续套用 if then else
if A>0 then
  z:=1
else
  if B>0 then
    z:=2
  else
    if C>0 then
      z:=3
    else
      z:=4;
幸好只有4个数,要是有几十个数,那不就很麻烦而且格式很难看,要是用case语句,我不会写,或者case语句根本解决不了这样多个不同变量取不同值情况
有哪位高手能用delphi语句很好解决这个问题吗,谢谢!
2 回复
#2
yeye552010-11-07 11:54
z := A + B + C + D;
#3
寻H不得2010-11-09 21:02
我没读懂?楼主没写清?
   随机情况某时间点下z=A+B+C+D的和
  Z的结果 只能是A或B或C或D而已 谈不上超难吧 在1234四个数中随机产生一个而已

不知道是不是这个意思
反正 这个地方好像人气很差 郁闷啊 老师不好找啊
1