想象一下 - 有一栋有 80 套公寓的房子。它有4层和5个街区。每个街区有4个单位。要求用户输入平面数,Pascal 程序应该计算和输出平面数。这必须使用某种公式来计算。我唯一的提示是我必须使用 div 和 mod 操作。
到目前为止,我已经创建了一个程序,它循环遍历所有 80 个单位,每 16 个单位增加块值,每 4 个块增加楼梯。
这是我的代码:
program project1;
var
i, floors, blocks, flats, flat, block, floor, blockCounter, floorCounter : integer;
begin
floors := 4;
blocks := 5;
flats := 80;
while true do
begin
write('Flat number: ');
read(flat);
block := 1;
floor := 1;
blockCounter := 0;
floorCounter := 0;
for i := 1 to 80 do
begin
blockCounter := blockCounter + 1;
floorCounter := floorCounter + 1;
if (floorCounter = 4) then
begin
floorCounter := 0;
floor := floor + 1;
end;
if (blockCounter > 16) then
begin
block := block + 1;
blockCounter := 0;
floorCounter := 0;
floor := 1;
end;
if (i = flat) then
begin
writeln('Flat nr. ', flat, ' is in ', floor, '. floor and in ', block, '. block!');
end;
end;
end;
end.
有没有人可以帮我解决这个问题?