在Pascal中使用逻辑运算符(<> =等)的case语句

时间:2009-09-07 18:17:34

标签: case pascal

我无法完成这项工作。显然,我不能使用>或者<在案例句中,是否有解决方法?谢谢!

case num of
    0:
        begin
            cont_0 := cont_0 + 1;
        end;
    > 0:
        begin
            cont_pos := cont_pos + 1;
            sum_pos  := sum_pos + num;
        end;
    < 0:
        begin
            sum_neg := sum_neg + num;
        end;  
    else;
end;

2 个答案:

答案 0 :(得分:6)

case Sign(num) of
    -1: ... 
     0: ...
     1: ...
end;

if ... else if ... else更具可读性?你决定了。

答案 1 :(得分:0)

那么请不要使用案例,为什么不使用if?

if num = 0 then
        cont_0 := cont_0 + 1;
if num > 0 then
BEGIN
        cont_pos := cont_pos + 1;
        sum_pos  := sum_pos + num;
END
if num < 0 then
        sum_neg := sum_neg + num;