回 帖 发 新 帖 刷新版面

主题:我是新手,请教个问题!!!

var
 a:array [1..20] of integer;
 i,x,y,z:integer;
begin
  x:=0;y:=0;z:=0;
  for i:=1 to 20 do
  begin
  read(a[i]);
  case a[i] of
  a[i]>0:x:=x+1;
  a[i]=0:y:=y+1;
  a[i]<0:z:=z+1;
  end;
  end;
  writeln('zheng shu=',x,',ling=',y,',fu shu=',z);
  readln
end.
哪错了?
怎么错的?

回复列表 (共15个回复)

11 楼

把这到题的题目写出来,我总觉得此题要用循环语句。

12 楼


[em3]case不可以这样用的
用if 一样

13 楼

你的CASE语句中的<常数表>不能是逻辑表达式,应该是常量。可以使用if语句的嵌套。

14 楼

把CASE换成IF就行了

15 楼

我是尽量不会用case语句的,老用老错,似乎也找不到真正的使用方法,
所以我就用if语句,但是为了减少算法的复杂度,尽量使用复合if语句。

我来回复

您尚未登录,请登录后再回复。点此登录或注册