回 帖 发 新 帖 刷新版面

主题:帮忙调试下程序~

program ex(input,output);
var i,s,max:integer;
a: array [1..10] of integer;

begin
        for i:=1 to 10  do  read(a[i]);
       max:=a[1];s:=a[1];
      for i:=2 to 10 do
          begin
      if s<0 then s:=0;
         s:=s+a[i];
       if s>max then max :=s
         end
    writeln('max=',max)
end.

有错?~

回复列表 (共3个回复)

沙发

program ex(input,output);
var i,s,max:integer;
a: array [1..10] of integer;

begin
        for i:=1 to 10  do  read(a[i]);
       max:=a[1];s:=a[1];
      for i:=2 to 10 do
          begin
      if s<0 then s:=0;
         s:=s+a[i];
       if s>max then max :=s;
         end;
    writeln('max=',max);
end.



你掉了几个分号[em17][em17]

板凳

不是,就是倒数2个end漏了分号,其他可以不写得
program ex(input,output);
var i,s,max:integer;
a: array [1..10] of integer;

begin
        for i:=1 to 10  do  read(a[i]);
       max:=a[1];s:=a[1];
      for i:=2 to 10 do
          begin
      if s<0 then s:=0;
         s:=s+a[i];
       if s>max then max :=s
         end;
    writeln('max=',max)
end.

3 楼

你做的是把所有正数加起来的程序,主要问题就是很多地方没打分号。建议你以后遇到错误时,根据编译错误、运行错误提示查表自己检查,然后总结错误。这样一来,可以逐渐提高准确率。

program ex(input,output);
var 
  i,s,max:integer;
  a:array[1..10]of integer;
begin
  for i:=1 to 10 do read(a[i]);
  max:=a[1]; s:=a[1];
  for i:=2 to 10 do
  begin
    if s<0 then s:=0;
    s:=s+a[i];
    if s>max then max:=s;
  end;
  writeln('max=',max);
end.

我来回复

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