Pascal 中的 for 循环中的 If 条件
If condition in for loop in Pascal
我有问题。 If for 循环中的条件仅检查一次。有什么问题?这是我的代码:
program Planas;
function skaiciuoti() : integer;
var z, zz, d, dt, dp, i, sk : integer;
Fr, Fw : text;
begin
Assign(Fr, 'Duomenys.txt');
Reset(Fr);
ReadLn(Fr, d, z);
zz := 0;
dt := d;
for i := 1 to d do
begin
Read(Fr, sk);
zz := zz + sk;
if sk >= z then
dt := d - 1;
end;
z := d * z - zz;
dp := z div d;
if z mod d <> 0
then dp := dp + 1;
Close(Fr);
WriteLn(dt);
WriteLn(z);
WriteLn(dp);
end;
begin
skaiciuoti();
Readln;
end.
P.S提前感谢您的回答! :)
也许您在 dt := d - 1
中的代码有错别字。 d
的值在循环中似乎是常量,因此 dt
在第一次成功检查后不会改变。我猜你可能想通过使用 dt := dt - 1
来减少 dt
。
我有问题。 If for 循环中的条件仅检查一次。有什么问题?这是我的代码:
program Planas;
function skaiciuoti() : integer;
var z, zz, d, dt, dp, i, sk : integer;
Fr, Fw : text;
begin
Assign(Fr, 'Duomenys.txt');
Reset(Fr);
ReadLn(Fr, d, z);
zz := 0;
dt := d;
for i := 1 to d do
begin
Read(Fr, sk);
zz := zz + sk;
if sk >= z then
dt := d - 1;
end;
z := d * z - zz;
dp := z div d;
if z mod d <> 0
then dp := dp + 1;
Close(Fr);
WriteLn(dt);
WriteLn(z);
WriteLn(dp);
end;
begin
skaiciuoti();
Readln;
end.
P.S提前感谢您的回答! :)
也许您在 dt := d - 1
中的代码有错别字。 d
的值在循环中似乎是常量,因此 dt
在第一次成功检查后不会改变。我猜你可能想通过使用 dt := dt - 1
来减少 dt
。